c++ - 使用 DEFAULT_GUI_FONT 设置 HFONT 的字体大小

标签 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);

最佳答案

您不想使用 DEFAULT_GUI_FONTDEFAULT_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/

相关文章:

c++ - 如何在VC++ MFC应用程序中使用UTF-8编码

c++ - QLabel 像视频一样显示图像

c++ - 提高特定任务的 tesseract 性能

linux - Bash 到批量转换

windows - 用于在 Windows 中创建和运行 Shell 脚本的 Cygwin 包

c++ - 手动调出工具提示? (WinAPI)

c++ - SetWindowsHookEx DLL卸载

c++ - 如何从网络摄像头检索图片快照?

c++ - 另一个从剪贴板线程绘制位图

windows - 如何将 Windows 命令提示符下发出的命令的 Perl 脚本输出重定向到文本文件