TForm.PixelsPerInch 在 Delphi Rio 10.3.3 中无效

TForm.PixelsPerInch has no effect in Delphi Rio 10.3.3

How PixelsPerInch works in Delphi 10.3 Rio? and Form.PixelsPerInch no longer used in Delphi Tokyo 中所述,TForm.PixelsPerInch 在 Delphi Rio 中无效(我使用 Rio 10.3.3)。我可以将它的值(在 IDE 中或通过编辑 dfm 文件)更改为 96、120、144,...但是表单的大小、字体大小等保持不变(在设计时和运行时) ). Form.Scaled 是真的。

如果每英寸像素数不同于 96,即 Windows 缩放比例不同于 100%,我如何在 Delphi Rio 中启用正确的表单缩放?

我正在将一个包含 50 多个表单的项目从 Delphi XE5 迁移到 Rio。该项目是在 XE5 中以每英寸 120 像素开发的,并且具有正确的字体大小和表单大小,Form.Scaled 是 True,Form.PixelsPerInch 是 120,Form.Font 是 'Segoe UI' 在 11 pt (这与每英寸 96 像素的 9 pt 相同)。当在 Rio 中以每英寸 120 像素打开项目时,所有表格都太大并且使用的字体是 'Segoe UI' 大约 14 pt,即 Rio 使用 PixelsPerInch 96 而不是 120(在 dfm 文件中给出)。

我不确定这些回答步骤是否真的有效,因为在给定我当前的系统设置之前几乎不可能进行测试。但让我们试一试:

  • 在 96 dpi 的环境中设置 XE5
  • 打开项目
  • 打开并保存所有表格
  • 在您的 Rio 系统上打开项目
  • 编译,运行 并检查它现在是否正常工作

可选:

  • 在项目选项的清单部分中使用 DPI 设置
  • 如果情况变得更糟,请将此设置保留为 none