note : font operation

来源:互联网 发布:淘宝上的骑士装备 编辑:程序博客网 时间:2024/06/05 03:26

程序中的字体用窗体默认提供的在不同Windows下面,显示的不一样.

e.g. 

Win7X64下, Tab页题头字体是斜体,虽然不协调,还能看. 如果不设置成斜体, 看起来 又太大

WinXpX86下, 如果是斜体, Tab页题头字体太小了,根本看不到, 看起来像"--"这样的符号.


// Create fonts for tab labelsvoid TTabWnd::createFont(){    NONCLIENTMETRICS metrics;    ::ZeroMemory(&metrics, sizeof(NONCLIENTMETRICS));    metrics.cbSize = sizeof(NONCLIENTMETRICS);    ::SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, &metrics, 0);    _tcscpy(metrics.lfStatusFont.lfFaceName, G_FONT_UI);    /// 如果不设置, 字体太大很不和谐    metrics.lfStatusFont.lfHeight = 12;    /// 必须为FALSE, Xp下显示不出来字体    metrics.lfStatusFont.lfItalic = FALSE;    m_Font.DeleteObject();    m_Font.CreateFontIndirect(&metrics.lfStatusFont);}

修改后, Tab页题头字体在Win7X64和WinXpX86下,都不会显得很突兀.




原创粉丝点击