在MFC中,我们企图修改控件中的字体,可以使用SetFon(CFont *font)函数。产生一个CFont对象,如下:
CFont* font = new CFont;
font->CreateFont(14, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("Microsoft Sans Serif")); // lpszFac
myButton->SetFont(font);然而若如上面代码那样,把font设置为局部变量,会发现修改不成功。
这时需要把font设置为全局变量,例如:
CFont font;//声明在头文件中 不再使用指针
font.CreateFont(14, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("Microsoft Sans Serif")); // lpszFac
myButton.SetFont(font);
则字体设置生效。
本文介绍了在MFC中如何正确地更改按钮控件的字体。通过创建并使用CFont对象,详细展示了设置字体属性的方法,并指出将字体对象定义为全局而非局部变量的重要性。

6万+

被折叠的 条评论
为什么被折叠?



