Delphi 10.3 Rio 中提示的大小

Mat*_*tej 5 delphi vcl delphi-10.3-rio

总的来说,Delphi 10.3 中的多显示器支持工作顺利。但是,我对多台显示器上的提示大小有疑问。要重现该问题,您需要一个多显示器系统,最好使用相同的显示器。

  1. 创建一个新的 VCL 应用程序。添加标签,将 ShowHint 设置为 True 并添加一些提示文本。
  2. 将主监视器的显示设置为 100%,将辅助监视器的显示设置为 200%。
  3. 启动您的应用程序。它将以 100% 的比例出现在主监视器上,提示文本的大小与标签文本应有的相同,请参见图像。

[主监视器上的标签和提示 100%.1

  1. 现在将您的应用程序移动到 200% 的辅助监视器。表格和标签将放大两倍。但是,提示的大小保持不变,即提示现在太小了。

辅助监视器上的标签和提示为 200%。 主监视器为 100%。

  1. 关闭您的应用程序并将主监视器的显示更改为 200%,将辅助监视器的显示更改为 100%。

  2. 启动您的应用程序。它将出现在主监视器上,提示文本的大小与标签文本的大小相同,并且所有内容都应大于 200%,请参见图像。

主监视器上的标签和提示为 200%。

  1. 现在将您的应用程序 100% 移动到辅助监视器。表格和标签将缩小两倍。但是,提示的大小保持不变,即提示现在太大了。

辅助监视器上的标签和提示 100%。 主监视器为 200%。

这似乎是 Delphi 10.3 的 VCL 中的一个错误。Delphi 10.4 Sydney 是否还会出现这个问题?

Sha*_*elt 1

这是 Delphi 早期版本中的一个问题。

它已在Delphi 10.4较新的版本中得到修复。Embarcadero 在最新版本的缩放和 HighDPI 方面做了广泛的工作Delphi 11


只是为了一些有关缩放和 HighDPI 支持的附加信息。确保您的项目始终Per Monitor v2设置为DPI AwarenessDPI 意识 这可以在应用程序清单选项中设置: Delphi 应用程序清单选项

每个显示器 v2 DPI 感知是 Windows 10 Creators Update(版本 1703)中引入的一项功能,允许应用程序了解其显示的每个单独显示器的 DPI 缩放。这与之前版本的 DPI 感知形成对比,后者被称为“系统 DPI 感知”,其中应用程序仅感知系统中所有显示器上的单个 DPI 缩放。

借助每显示器 v2 DPI 感知,应用程序可以根据显示的每个显示器的 DPI 缩放来调整其布局和渲染,从而获得更加一致和最佳的用户体验。例如,应用程序可能会在高 DPI 显示器上显示较大的 UI 元素,同时在较低 DPI 显示器上保持较小的 UI 元素。