又一次摔MFC坑里了

因为公司的个项目最近开始写MFC了,又遇到一个坑爹的问题,使用的View视图模式在VS2010中创建的工程,默认就带入了许多的Style,例如Office 2007的许多漂亮样式确实很方便,但是同样也会造成一些字体模糊问题(见下图),后来整了半天才解决,特此做个记录。

首先这确定是MS的Bug,http://connect.microsoft.com/VisualStudio/feedback/details/505466/mfc-visual-style-font-size-too-small-to-display-chinese-character-clearly-on-windows-xp

图左上部分Dialog是未做任何处理,中文字体会显示成这样模糊,

图左下是因为在C*App::InitInstance()函数中加入了

    LOGFONT logfont = {0};
    :: SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(LOGFONT), &logfont, 0);
    afxGlobalData.SetMenuFont(&logfont,true);

完全解决方案是:

将上述代码加入到MainFrm.cpp中的OnCreate中即可。

真希望永远不要再让我踩到MS的坑了。。。

posted @ 2013-07-23 15:28  重庆Debug  阅读(1644)  评论(0编辑  收藏  举报