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

解决时间暂时还不确定,临时的方案如下:
App在InitInstance中加入:

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

这是因为字体的设置保存在一个全局变量afxGlobalData中,此变量定义AfxGlobals.h中。AFX_GLOBAL_DATA中有一个SetMenuFont可以设定字体属性,影响Menu、Toolbar、Dock Pane等的caption字体。但是这个设置对tooltip无影响,临时解决:在上面代码基础上在加入

if(afxGlobalData.fontTooltip.GetSafeHandle() != NULL)
{
  ::DeleteObject(afxGlobalData.fontTooltip.Detach());
}
afxGlobalData.fontTooltip.CreateFontIndirect(&logfont);

2 对 “VS2008/2010中MFC程序字体太小的解决方法”的想法;

    1. 是这样子的,我的探针是增强的9gan探针,我不知道你的雅黑探针和9gan探针是什么关系,能否提供以下,如果是他侵犯了你的版权,我也会做相应处理。希望不要再重复评论同样内容的帖子了,谢谢合作!我本来也是为了方便网友,修改bug后,就提供下载了。如果你觉得我抢了你的流量所以我抄袭你的话,希望你自己做好自己的探针,如果做得好的话,估计大家都会用你的的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注