我有一个在VS2008中使用MFC创建的程序.现在我已经修改它以使其成为"Per Monitor DPI-Aware",它几乎已经完成了.我修改了清单并处理了WM_DPICHANGE消息.但仍有一个问题:
我使用CFileDialog类来显示打开/保存对话框,并使用SHBrowseForFolder函数显示文件夹选择对话框.但是,所有这些对话都是不 "每个监视器DPI感知",当你与不同的DPI设置显示器之间移动他们,他们不会调整自己的UI.
我使用spy ++来监视这些对话框的消息,我发现它们可以接收WM_DPICHANGED消息,但它们只是不处理它.
我已经在Windows 10上的notepad.exe中测试了打开的文件对话框,它运行得很好.
有谁知道如何使这些对话框"Per Monitor DPI-Aware"?
-------- 编辑 --------
还有两个问题:
我觉得这些问题可能有某种联系,但我无法弄清楚.
-------- SAD NEWS --------
我用VS2013编译了microsoft的"DPI Tutorial Sample",它也有同样的问题.
https://code.msdn.microsoft.com/DPI-Tutorial-sample-64134744