gdiScaling:可以针对特定子窗口禁用吗?

问题描述 投票:0回答:1

我已使用清单为我的 MFC C++ 应用程序启用了 gdiScaling 选项。 但是,我有一个使用 GDI 绘制的特定内部子窗口,它存在一些故障和性能问题。 是否可以仅针对此特定内部子窗口禁用“高级”gdiScaling,并恢复“经典”低质量重新缩放(但保持其余部分正确重新缩放)?

PS:按照https://blogs.windows.com/windowsdeveloper/2017/05/19/improving-high-dpi-experience-gdi-based-desktop-apps/

中所述启用gdiScalign
c++ winapi gdi dpi
1个回答
0
投票

您可以尝试使用 SetDialogDpiChangeBehaviorSetDialogControlDpiChangeBehavior 选择对话框中的特定窗口(或整个对话框本身)不使用 DPI 缩放功能。

欲了解更多详情,您可以参考以下链接:https://blogs.windows.com/windowsdeveloper/2017/04/04/high-dpi-scaling-improvements-desktop-applications-windows-10-creators-update /

在某些情况下,您需要控制 Windows DPI 缩放对话框甚至对话框的子 HWND。当你想要的时候 选择对话框或对话框中的 HWND 不自动缩放 DPI 可以使用SetDialogDpiChangeBehavior/SetDialogControlDpiChangeBehavior, 分别。

© www.soinside.com 2019 - 2024. All rights reserved.