VS2008 sp1开发的程序默认字体模糊,如何修改

myfriend023 2011-02-23 04:28:37

VS2008 sp1开发的程序默认字体模糊,如何修改?

根据在网上搜索的结果修改如下:
加在CMainFrame::OnCreate函数中
C/C++ code//设置正常字体 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);


以上做法虽然可以将默认字体改掉,但是程序启动一段时间后(放置一段时间,系统没有执行操作,即相当于进入屏保),程序的字体又回复成默认的字体了,变得很模糊

不知道有没有达人可以解决?
...全文
399 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyacinth_more 2012-10-08
  • 打赏
  • 举报
回复
这个问题我也苦恼了很久了,一直没有完善的解决办法。建议在MainFrame里映射一下ON_WM_ACTIVATE消息,重新设一下字体。这样虽然有时还会变模糊,但是切换一下窗口就变好了
myfriend023 2011-03-05
  • 打赏
  • 举报
回复
我感觉也不是代码问题,虚拟机上没问题,到了实际的物理机器就有这个现象。
myfriend023 2011-02-24
  • 打赏
  • 举报
回复
试过了,不行
辰岡墨竹 2011-02-24
  • 打赏
  • 举报
回复
什么样算模糊?LZ截个图……
Tidal_Choidi 2011-02-24
  • 打赏
  • 举报
回复
应该不是程序代码的问题。
changroc 2011-02-24
  • 打赏
  • 举报
回复
如果是液晶电脑的话,请把刷新频率调整到60Hz,然后重新启动看看。我的在75Hz下就模糊,改成60就好了。
fandh 2011-02-23
  • 打赏
  • 举报
回复
在工程的初始化App::InitInstance()开始的时候初始化字体看看!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧