【问题标题】:How do you call EnableNonClientDpiScaling on a DialogBox dialog?如何在 DialogBox 对话框上调用 EnableNonClientDpiScaling?
【发布时间】:2018-10-15 19:11:52
【问题描述】:

在不支持 Per-Monitor v2 的系统上,如何在 DialogBox 对话框中启用 DPI 缩放的非客户区?

您应该在WM_NCCREATE 中调用EnableNonClientDpiScaling,但此消息不会发送到DialogBox 对话框!

【问题讨论】:

    标签: windows winapi windows-10 dpi highdpi


    【解决方案1】:

    在调用DialogBox 之前设置WH_CALLWNDPROC 线程hook 并在第一次收到WM_NCCREATE 消息时调用EnableNonClientDpiScaling 似乎确实有效,但感觉就像一个巨大的黑客攻击。

    我想您可以尝试验证 HWND 是否是与您的 DLGPROC 的对话,以使其更加健壮但仍然不理想。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多