Visual studio 2008/2010 MFC程序Menu、Toolbar字體模糊偏小解決辦法

(來源:http://www.blogjava.net/luchunwei/archive/2010/06/09/323118.html )

 

首先,這是一個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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章