[解决方法]
简单的步骤:在Windows中,每个窗体都有自己的字体。要改变其字体首先要CFont::CreateFont创建一个字体,然后用CWnd::SetFont选择此字体,赋给控件。具体的步骤:
1.在include的下面定义一个全局变量:
CFont cfont;
2.把以下这一部分放到OnInitDialog()函数里面:
cfont.CreateFont(16, //字体大小
0,0,0,FW_NORMAL,
FALSE,FALSE,
0,
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, "Arial");
CWnd* pWnd = GetDlgItem(IDC_STATIC_TITLE);
pWnd->SetFont(&cfont);
下面介绍一下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 );
参数说明:
nHeight:字体高度.> 0:字体的高度值;=0:字体采用缺省直. <0:此值的绝对值为高度.
nWidth:字体宽度.
nEscapement:文本行的倾斜度.
nOrientation:字符基线的倾斜度.
nWeight:字体的粗细,如下:
.FW_DONTCARE
.FW_THIN
.FW_EXTRALIGHT
.....
bItalic:字体是否为斜体
bUnderline:字体是否带下划线
cStrikeOut:字体是否带删除线
nCharSet:字体的字符集
.ANSI_CHARSET
.DEFAULT_CHARSET
.SYMBOL_CHARSET
......
nOutPrecision:字符的输出精度
nClipPrecision:字符裁剪的精度
nQuality:字符的输出质量
nPitchAndFamily:字符间距和字体族(低位说明间距,高位说明字符族)
lpszFacename:字体名称