我正在修改我的应用程序以支持高DPI值(100%/96dpi以上)。
我修改了应用程序的清单文件,使其包括:
<dpiAware>true/PM</dpiAware>我能够处理我自己的应用程序表单的所有新闻部缩放,但我如何处理标准窗口对话框(字体选择器,打开的文件,文件夹浏览器等)通过WinAPI。是否有一种方法可以手动通知窗口,我只希望这些对话框自动缩放到较高的DPI?
*更新*
在使用"SetThreadDpiAwarenessContext“WinAPI函数之后,windows看起来确实处理了缩放,但是它在缩放图像(模糊文本)而不是缩放控件(记住,这些是标准的窗口控件,比如调用”GetOpenFileNameW“生成的控件)。
有什么想法,如何使窗口绘制打开的文件对话框适当地缩放,而不模糊的文本?
发布于 2017-06-22 10:59:46
谢谢你@zett42 42,总结未来游客的联系答案,赢得10 Aniv。版本引入了一个新的"SetThreadDpiAwarenessContext()“函数来设置每个线程的DPI意识,允许您从一个单独的线程打开标准的windows对话框,并让Windows设置自动处理对话框上的缩放。
https://stackoverflow.com/questions/44696354
复制相似问题