【发布时间】:2015-12-23 23:31:47
【问题描述】:
当我阅读 Delphi 10 Seattle 的新功能列表时,我看到了这些:
- 改进了 IDE 中的多显示器支持,能够将大多数表单和窗格放置在不同的辅助显示器上
- 增强的 IDE 项目选项可轻松在您的应用程序中启用高 DPI 感知,以及对 VCL 应用程序的 Windows 8.1/10 多显示器支持
Windows 7 或更高版本不支持多显示器(或双视图)吗? Delphi IDE 还为多显示器支持提供了什么?
【问题讨论】:
当我阅读 Delphi 10 Seattle 的新功能列表时,我看到了这些:
Windows 7 或更高版本不支持多显示器(或双视图)吗? Delphi IDE 还为多显示器支持提供了什么?
【问题讨论】:
第 1 项对我来说似乎很清楚。 IDE 中的某些表单现在可以放置在不同的监视器上。这与 Windows 版本无关,是对 IDE 的更改。
至于第 2 项,它涉及您的应用程序的 DPI 意识。有一个新的项目选项允许您控制在 IDE 生成的清单中使用的 DPI 感知设置。以前版本的 IDE 没有此类设置,并且 IDE 生成的清单不包含 DPI 感知设置。
此外,VCL 现在具有每个显示器的 DPI 意识。也就是说,VCL 通过将表单缩放到新监视器的 DPI 缩放来响应WM_DPICHANGED。
Windows 8.1 中引入了每显示器 DPI 缩放,以解决传统尺寸的显示器、超大型所谓的 4k 显示器、高像素密度显示器等所需的截然不同的 DPI 缩放。
新的 VCL 功能在某种程度上解决了这个问题,但忽略了一个关键点。缩放表单时,工具栏按钮、菜单等必须使用不同大小的字形。对此没有进行任何更改,如果您不希望您的字形在高 DPI 缩放下看起来非常小,开发人员将需要解决这个问题。
有关 DPI 感知应用程序的更多详细信息:
【讨论】: