使用DEFAULT_GUI_FONT设置HFONT的字体大小

时间:2014-09-06 20:22:25

标签: c++ windows winapi fonts dialog

在我的对话框中,我将字体设置为默认的GUI字体,但是我需要手动将字体大小设置为15。 我怎么能这样做?

HFONT   myQueryFont;
myQueryFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
// set font size here
SendMessage(this->hwndQuery,WM_SETFONT,(WPARAM)myQueryFont,FALSE);

1 个答案:

答案 0 :(得分:4)

您不想使用DEFAULT_GUI_FONTDEFAULT_GUI_FONT is a relic of the past.

不幸的是,没有真正的方法可以在Windows上获得“系统”标准字体。这里有几个问题:国际化,shell /对话管理器及其假字体(MS Shell Dlg),Vista将默认点大小从8更改为9等等。

您最好的选择是获取消息框字体并使用它。它通过LOGFONT SystemParametersInfo()函数以SPM_GETNONCLIENTMETRICS提供。

(当我用新发现更新this时,我需要谈谈这个问题。)