1

经过一番努力,我已将我的 MFC 应用程序从 begin 迁移Sytem DPI aware (High DPI aware)Per Monitor High DPI Aware. 我看到我使用过的 MFC 组件(如对话框、消息框等)仍然不是per-monitor-dpi aware,而是它们的行为仍然像它们一样system-dpi aware。现在随着 Windows DPI 虚拟化的消失,当我的机器的不同显示器具有不同的 DPI 缩放比例时,这些组件的显示效果会更差。

例如。
考虑 2 台显示器 M1(3840x2160,带有150% dpi scaling)和 M2(1280x1024,带有100% DPI scaling)。现在,当我的应用程序在 M2 上运行时,用于选择用于 M2 的颜色的对话框不适合它(早期的 Windows 操作系统由于 DPI 虚拟化而将其缩小)。

是否有任何从 Windows 8 开始引入的新的 MFC 组件,这些组件是 per-monitor-dpi 感知的?例如。一个DIALOGEX2而不是DIALOGEX

4

0 回答 0