将 MFC 应用程序更改为每显示器 DPI 感知。在WM_DPICHANGED
消息中,我想更改 CMFCMenuBar 的字体以正确缩放。所以我补充说:
LOGFONT logfont;
GetGlobalData()->fontRegular.GetLogFont(&logfont);
logfont.lfHeight=g_DPIHelper.ScaleNonClientMetricsFont(logfont.lfHeight);
if (!m_wndMenuBar.SetMenuFont(&logfont)) {
TRACE0("Unable to set menu font\n");
}
我确认 logfont.lfHeight 在测试用例中从 -11 变为 -17。我确认SetMenuFont()
呼叫返回成功。然而,CMFCMenuBar
菜单栏上显示的字体与以前的大小相同。我错过了什么?
蒂亚!!