【发布时间】:2015-03-27 10:47:01
【问题描述】:
在 windows 7 环境下,PixelsPerInch 的值会随着 在 Win7 和经典主题之间切换。 奇怪的是,虽然当前的 Windows 操作系统在 150% 上处于活动状态 scale,在 Win7 主题中 PixelsPerInch 返回值 96。
附表将进一步详述。
【问题讨论】:
标签: delphi winapi delphi-2010 delphi-xe7
在 windows 7 环境下,PixelsPerInch 的值会随着 在 Win7 和经典主题之间切换。 奇怪的是,虽然当前的 Windows 操作系统在 150% 上处于活动状态 scale,在 Win7 主题中 PixelsPerInch 返回值 96。
附表将进一步详述。
【问题讨论】:
标签: delphi winapi delphi-2010 delphi-xe7
您的应用程序尚未声明自己具有高 DPI 感知能力。因此,它受制于 DPI 虚拟化。这就解释了为什么 150% 缩放会在主题时提供 96 的 DPI。
为什么在经典主题中没有 96 的 DPI?嗯,那是因为 DPI 虚拟化依赖于 DWM,而当您使用经典主题时,DWM 是不活动的。
我怀疑所有这些对你来说都是新闻。在这种情况下,您需要先阅读从此处开始的 MSDN 主题:https://msdn.microsoft.com/en-us/library/windows/desktop/dd464646.aspx
【讨论】: