MFC设置一个文本框的字体大小。。 写一下。因为我以c++不熟。。 例那文本框Id是IDC_LOGIN 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CFont lf;(CEdit*)GetDlgItem(IDC_LOGIN)->SetFont(&lf); CFont *font; LOGFONT stFont; CStatic *stc = (CStatic *)GetDlgItem(IDC_LOGIN); memset(&stFont, 0, sizeof(LOGFONT)); font = stc->GetFont(); font->GetLogFont(&stFont); stFont.lfHeight = 26; //可以设置字体的宽高,即改变字体的大小 stFont.lfWeight = 24; //stFont.lfStrikeOut = TRUE; stFont.lfWeight = FW_SEMIBOLD; stFont.lfCharSet=GB2312_CHARSET; wcscpy(stFont.lfFaceName, _T("新宋体"));//设置字样为新宋体 font->CreateFontIndirect(&stFont); stc->SetFont(font,TRUE); font->DeleteObject();如果是在应用中动态改变的话,应该把font改为类的数据成员才可以。在窗口销毁过程中font->DeleteObject();就可以了。 CFont font;font.CreateFont(参数);GetDlgItem(IDC_LOGIN)->SetFont(&font);CreateFont参数为:BOOL CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename );如果感觉比较复杂,可以用BOOL CreatePointFont( int nPointSize, LPCTSTR lpszFaceName, CDC* pDC = NULL );那么:CFont font;font.CreatePointFont(200, "宋体", NULL);GetDlgItem(IDC_LOGIN)->SetFont(&font);但你要保证你有LPCTSTR lpszFaceName的字体。其中200就是大小了。 请大家找找数字变换的规律 dll中使用对话框类的问题 使用TCP/IP协议,实现三次握手 用CStatusBarCtrl::SetIcon为什么总是不能完整显示 windows 服务程序写远程磁盘失败,请指教 请问怎样在一个Dialog里面添加热键?(我在Single document底下可以,在dialog 去不行) 不懂???? ASP 自己做的第三方控件(构件)如何在程序运行前可以设置属性? 为什么 LPTSTR p = s.GetBuffer( 0 ),之后p="新内容"后,s的内容却没有发生变化? 有没有用VC++2008的 如何得知当前的鼠标移动是在windows文件拖拽操作中
(CEdit*)GetDlgItem(IDC_LOGIN)->SetFont(&lf);
CFont *font;
LOGFONT stFont;
CStatic *stc = (CStatic *)GetDlgItem(IDC_LOGIN); memset(&stFont, 0, sizeof(LOGFONT));
font = stc->GetFont();
font->GetLogFont(&stFont); stFont.lfHeight = 26; //可以设置字体的宽高,即改变字体的大小
stFont.lfWeight = 24;
//stFont.lfStrikeOut = TRUE;
stFont.lfWeight = FW_SEMIBOLD;
stFont.lfCharSet=GB2312_CHARSET;
wcscpy(stFont.lfFaceName, _T("新宋体"));//设置字样为新宋体
font->CreateFontIndirect(&stFont);
stc->SetFont(font,TRUE); font->DeleteObject();
如果是在应用中动态改变的话,应该把font改为类的数据成员才可以。在窗口销毁过程中font->DeleteObject();就可以了。
font.CreateFont(参数);
GetDlgItem(IDC_LOGIN)->SetFont(&font);CreateFont参数为:
BOOL CreateFont(
int nHeight,
int nWidth,
int nEscapement,
int nOrientation,
int nWeight,
BYTE bItalic,
BYTE bUnderline,
BYTE cStrikeOut,
BYTE nCharSet,
BYTE nOutPrecision,
BYTE nClipPrecision,
BYTE nQuality,
BYTE nPitchAndFamily,
LPCTSTR lpszFacename
);如果感觉比较复杂,可以用
BOOL CreatePointFont(
int nPointSize,
LPCTSTR lpszFaceName,
CDC* pDC = NULL
);那么:
CFont font;
font.CreatePointFont(200, "宋体", NULL);
GetDlgItem(IDC_LOGIN)->SetFont(&font);但你要保证你有LPCTSTR lpszFaceName的字体。其中200就是大小了。