解决方案 »

  1.   

    在程序开始的时候就选入一个font没试过!
      

  2.   

    窗口资源保证都使用同一种字体。
    高级的 可以利用hook 勾住WM_SETFONT 让它走你的逻辑
      

  3.   

    BOOL CXXXApp::InitInstance() 中加入修改全局字体的代码即可.// 修改默认字体 [2012-3-19 sxh]
    //设置正常字体
    LOGFONT lf;   
    afxGlobalData.fontRegular.GetLogFont(&lf);   
    afxGlobalData.fontRegular.DeleteObject();   
    lf.lfHeight = -12;   
    lstrcpy(lf.lfFaceName, _T("宋体"));     // using without style office 2007   
    afxGlobalData.fontRegular.CreateFontIndirect(&lf);   //设置加粗的字体 
    afxGlobalData.fontBold.GetLogFont(&lf);   
    afxGlobalData.fontBold.DeleteObject();   
    lf.lfHeight = -12;   
    lstrcpy(lf.lfFaceName, _T("宋体"));   
    afxGlobalData.fontBold.CreateFontIndirect(&lf); afxGlobalData.fontTooltip.GetLogFont(&lf);   
    afxGlobalData.fontTooltip.DeleteObject();   
    lf.lfHeight = -12;   
    lstrcpy(lf.lfFaceName, _T("宋体"));   
    afxGlobalData.fontTooltip.CreateFontIndirect(&lf);
      

  4.   

    我都是挨个SendMessage WM_SETFONT
      

  5.   

    遍历每个窗口控件,CWnd::SetFont()
      

  6.   

    如果是对话框的话,就简单多了,你可以右键点属性里边就有font,点开设置就行了。呵呵。
      

  7.   

    这个可以更改menu和toolbar的字体