(MFC)始终显示与每个监视器HiDPI大小相同的UI

(MFC)始终显示与每个监视器HiDPI大小相同的UI,mfc,dpi,Mfc,Dpi,我希望始终以96 dpi的大小显示UI,而不受每个监视器的dpi的影响 当窗口移动或调整大小时,坐标会根据DPI的不同而不同,从而破坏UI 当我收到WM\u DPICHANGE消息和OnSize时,我是否应该根据当前DPI值重新计算 有这么多的对话框和控件,代码非常庞大,令人沮丧。 有简单的方法吗 ++ 有没有一种方法可以指定独立于Windows DPI的DPI扩展过程?您可以关闭整个项目的DPI感知功能吗?对您来说“相同大小”意味着什么?设备单元中相同数量的像素,还是逻辑单元中相同数量的像素?

我希望始终以96 dpi的大小显示UI,而不受每个监视器的dpi的影响

当窗口移动或调整大小时,坐标会根据DPI的不同而不同,从而破坏UI

当我收到
WM\u DPICHANGE
消息和
OnSize
时,我是否应该根据当前DPI值重新计算

有这么多的对话框和控件,代码非常庞大,令人沮丧。 有简单的方法吗

++
有没有一种方法可以指定独立于Windows DPI的DPI扩展过程?

您可以关闭整个项目的DPI感知功能吗?对您来说“相同大小”意味着什么?设备单元中相同数量的像素,还是逻辑单元中相同数量的像素?@Adrian Mole我可以关闭DPI感知。但是,它会在Windows上拉伸位图。@IInspectable//首先,我为我愚蠢的英语技能道歉。相同的大小意味着更改控件大小时,传递给OnSize的x、y值将在任何dpi比例下以96dpi的形式接收!。我的项目有很多控制界面,我需要把所有的东西都放在一个屏幕上。它应该始终以96dpi显示。为什么要这样做?你的用例是什么?你能不能关掉整个项目的DPI意识?对你来说“同样大小”意味着什么?设备单元中相同数量的像素,还是逻辑单元中相同数量的像素?@Adrian Mole我可以关闭DPI感知。但是,它会在Windows上拉伸位图。@IInspectable//首先,我为我愚蠢的英语技能道歉。相同的大小意味着更改控件大小时,传递给OnSize的x、y值将在任何dpi比例下以96dpi的形式接收!。我的项目有很多控制界面,我需要把所有的东西都放在一个屏幕上。它应该始终以96dpi显示。为什么要这样做?您的用例是什么?