小技巧-给CEdit设置字体
给CEDIT设置字体的代码:
在类的.h内
CMyEdit * m_pEdit;
CFont font;
在类的cpp文件中:
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT));
lf.lfHeight = height; // request a 12-pixel-height font
//lf.lfWidth = 0;
lf.lfWeight = FW_BOLD;
strcpy(lf.lfFaceName, "Arial"); // request a face name "Arial"
VERIFY(font.CreateFontIndirect(&lf)); // create the font
m_pEdit = new CMyEdit;
m_pEdit->Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP ,CRect(1, 1, width+1, height+1), this, 100);
m_pEdit->SetFont(&font);
需要注意的是:
设置CEdit控件的字体需要使用 CEdit::SetFont() 函数,然而输入参数却不能是局部变量,需要在CEdit控件的整个生存期间都有效,因此需要把CFont变量设置为类内参数或全局,总之要在CEdit存在的时候CFont都存在