在我的对话框中,我将字体设置为默认的 GUI 字体,但是我确实需要手动将字体大小设置为 15。 我该怎么做?
HFONT myQueryFont;
myQueryFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
// set font size here
SendMessage(this->hwndQuery,WM_SETFONT,(WPARAM)myQueryFont,FALSE);
最佳答案
您不想使用 DEFAULT_GUI_FONT
。 DEFAULT_GUI_FONT
is a relic of the past.
不幸的是,没有真正的方法可以在 Windows 上获得“the”系统标准字体。这里有几个问题:国际化、shell/对话框管理器及其假字体(MS Shell Dlg
)、Vista 将默认磅值从 8 更改为 9 等...
最好的办法是获取消息框字体并使用它。它通过 SystemParametersInfo()
SPM_GETNONCLIENTMETRICS
函数作为 LOGFONT
提供。
(我需要在用新发现更新 this 时讨论这个问题。)
关于c++ - 使用 DEFAULT_GUI_FONT 设置 HFONT 的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25704408/