这个问题和上一个转帖的VS2010 MFC文字过小问题如出一辙,但是那篇帖子里的解决方法只是一个临时的解决方法,对于应用BCG库后的MFC程序,尤其是应用了部分主题以后,即使修改了字体,也会由于UI部分很多地方会调用BCGPGLOBAL_DATA的UpdateFonts导致修改后的font被默认字体覆盖。
其实用源码跟踪了一下后发现,导致中文字体难看的原因其实是Segoe UI这个字体,于是修改了Bcgglobals.cpp中
static const CString strOffice2007FontName = _T(“Segoe UI”);
这行为
static const CString strOffice2007FontName = _T(“Tahoma”);
使用Tahoma字体就可以了。
博主友情提示:
如您在评论中需要提及如QQ号、电子邮件地址或其他隐私敏感信息,欢迎使用>>博主专用加密工具v3<<处理后发布,原文只有博主可以看到。
很有用,
UpdateFont 写的比较复杂,只解决了菜单字体,设置为Tohoma就行
有用