资源描述:
《MFC改变对话框中静态文本的字体大小.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、MFC改变对话框中静态文本的字体大小CFontcfont;//这个是全局的。放到include的下面就可以了//以下这一部分放到OnInitDialog()里面。cfont.CreateFont(16,//这个数字就是字体大小了0,0,0,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,//nCharSetOUT_DEFAULT_PRECIS,//nOutPrecisionCLIP_DEFAULT_PRECIS,//nClipPrecisionDEFAULT_QUALITY,//nQualityDEFAULT_PITCH
2、FF_SWISS,"Arial");
3、CWnd*pWnd=GetDlgItem(IDC_STATIC_TITLE);pWnd->SetFont(&cfont);VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体。对于你的问题,需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了。例子:1、改静态文体的ID,如:IDC_STATIC12、添加一个Edit控件,建立一个关联的控件m_editControl。3、在OnInitDialog中添加如下代码:CFont*f;f=newCFont;f->CreateFont(16,//nHeight0,//nWidth0,//
4、nEscapement0,//nOrientationFW_BOLD,//nWeightTRUE,//bItalicFALSE,//bUnderline0,//cStrikeOutANSI_CHARSET,//nCharSetOUT_DEFAULT_PRECIS,//nOutPrecisionCLIP_DEFAULT_PRECIS,//nClipPrecisionDEFAULT_QUALITY,//nQualityDEFAULT_PITCH
5、FF_SWISS,//nPitchAndFamily_T("Arial"));//lpszFacm_editControl.SetFont(f)
6、;m_editControl.SetWindowText("问专家");GetDlgItem(IDC_STATIC1)->SetFont(f);运行结果如下图所示,下载完整例子CtrlFont.zip。需要注意的是,这里我们使用的是CFont指针,而不是普通的CFont局部变量,如果把程序改成下面这样:CFontf;f.CreateFont(16,//nHeight0,//nWidth0,//nEscapement0,//nOrientationFW_BOLD,//nWeightTRUE,//bItalicFALSE,//bUnderline0,//cStrikeOutANSI_CH
7、ARSET,//nCharSetOUT_DEFAULT_PRECIS,//nOutPrecisionCLIP_DEFAULT_PRECIS,//nClipPrecisionDEFAULT_QUALITY,//nQualityDEFAULT_PITCH
8、FF_SWISS,//nPitchAndFamily_T("Arial"));m_editControl.SetFont(&f);m_editControl.SetWindowText("问专家");GetDlgItem(IDC_STATIC1)->SetFont(&f);运行后就得不到想要的效果了,因为OnInitDialog函数执行
9、完毕,CFontf就会被清除。必须保证SetFont设置的字体对象在对话框关闭前一直有效。所以通常是使用指针或类成员的方式来保存所建立的字体对象。非MFC程序,首先用CreateFont来建立一个字体句柄,然后再用SendMessage发给控件WM_SETFONT消息,将建立的字体句柄赋值过去,就可以了。cHeight是字体的高度。cWidth是字体的宽度。cEscapement是字体的倾斜角。cOrientation是字体的倾斜角。cWeight是字体的粗细。bItalic是字体是否斜体。bUnderline是字体是否有下划线。bStrikeOut是字体是否有删除线。iCharSe
10、t是字体使用的字符集。iOutPrecision是指定如何选择合适的字体。iClipPrecision是用来确定裁剪的精度。iQuality是怎么样跟选择的字体相符合。iPitchAndFamily是间距标志和属性标志。pszFaceName是字体的名称。CreateFont()函数的MSDN翻译函数功能:该函数创建一种有特殊性的逻辑字体,此逻辑字体可以在后面被任何设备选择。函数原型:HFONTCreateFont(intnHeight,intnWidth