最近需要用VC做一个界面,其中一段程序是为界面上所有控件(包括按钮、编辑框、文本框)重新设计字体,我写了一段程序可以用,但是非常麻烦:
fontsize_height=20;                        // nHeight
fontsize_Width=10.2;
VERIFY(font.CreateFont(
fontsize_height,                        // nHeight
fontsize_Width,                        // 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("宋体")));                 // lpszFacename
GetDlgItem(IDC_START)->SetFont(&font);
GetDlgItem(IDC_STOP)->SetFont(&font);
GetDlgItem(IDC_OpenAccess)->SetFont(&font);
GetDlgItem(IDC_START)->SetFont(&font);
GetDlgItem(IDC_STOP)->SetFont(&font);
GetDlgItem(IDC_OpenAccess)->SetFont(&font);
GetDlgItem(IDC_STATIC1)->SetFont(&font);
GetDlgItem(IDC_STATIC2)->SetFont(&font);
GetDlgItem(IDC_EDIT1)->SetFont(&font);
GetDlgItem(IDC_EDIT2)->SetFont(&font);
GetDlgItem(IDC_STATIC5)->SetFont(&font);这个程序就是设置好字体的长和宽,挨个为每一个控件赋值,这样太不方便了。
不知道有没有一个简单的办法,能直接为所有控件设置字体。
本人没怎么学过VC,只是用到的时候才看看,基础不好,希望大家指教。

解决方案 »

  1.   

    [MFC]设置对话框所有控件字体为同一字体的简单方法
    2009-04-06 23:42 158人阅读 评论(0) 收藏 举报1.在构造函数中创建字体:
        m_fontDlg.CreatePointFont(120, _T("黑体"));  
    2.在析构函数中删除字体:
        m_fontBig.DeleteObject();  
    3.在OnInitDialog函数中设置所有控件字体:
        CWnd *pWnd = GetTopWindow();  
        while (NULL != pWnd)  
        {  
            pWnd->SetFont(&m_fontDlg);  
            pWnd = pWnd->GetNextWindow();  
        } 
      

  2.   

    m_fontBig???是m_fontDlg吗?这个变量如何定义啊