如何强制GetStockObject返回正确的字体

时间:2017-12-10 01:53:50

标签: windows fonts gdi

此图显示了基本问题:

enter image description here

让我解释一下这表明的内容。顶部是JPsoft的TCC / LE属性框中的按钮 - “确定”和“取消”按钮具有正确的字体。

" 360 - 时间检查延迟"紧接下方的确定/取消按钮来自我正在处理的应用程序。在每个其他系统上,此对话框显示非粗体字体,但在我的主系统(Windows 10)上以粗体显示。 FONT文件中对话框的.rc语句如下:

FONT 8, "MS Sans Serif"

这是我过去20年来一直在使用的东西,而且以前从未对我这么做过。

底部以日期/时间戳开头的文本行是来自此应用程序的日志行,它们在这台Windows 10计算机上再次为粗体,并使用从此行获得的字体创建:

HFONT hFont = GetStockObject(ANS_VAR_FONT);

令人困惑的是,应用程序的标题栏和菜单显示正确的字体,它只是通过WM_PAINT呈现的文本,即日志和使用错误字体的对话框。

我完全知道这件事。我只能在一台计算机上只用一个程序就可能导致这个问题的可能性有什么问题?

0 个答案:

没有答案