【问题标题】:How PixelsPerInch works in Delphi 10.3 Rio?PixelsPerInch 如何在 Delphi 10.3 Rio 中工作?
【发布时间】:2020-05-03 19:51:17
【问题描述】:

我不明白PixelsPerInch 属性的目的是什么...似乎没用。如果选中Scaled,则无法修改PixelsPerInch。如果未选中Scaled 并且更改了PixelsPerInch,则无论您在PixelsPerInch 字段中输入的值如何,字体的表单大小都会缩放为固定值。当然,我在运行时检查了表单大小。

【问题讨论】:

  • 我不明白这个问题。 PixelsPerInch 在里约热内卢的工作方式与在西雅图、柏林或 Delphi 2007 或 Delphi 7 中的工作方式相同。
  • 我只是想提一下版本...
  • 问题是当我更改 PixelsPerInch 值(在设计时)时,表单没有缩放到另一个尺寸(在运行时)。
  • @KenWhite,看!有另一个用户有同样的问题,所以我想我不是疯了...... PixelsPerInch 似乎不再用于新版本的Delphi。这些新版本的行为就像 PixelsPerInch 固定为 96,无论您输入什么值...stackoverflow.com/questions/54742794/…

标签: delphi dpi delphi-10.3-rio


【解决方案1】:

缩放为真

在 dfm 文件中,PixelsPerInch 属性包含设计表单时使用的屏幕 DPI 值。为了能够在运行时将控件位置和大小值缩放到不同的 DPI 屏幕,这是必要的。

缩放为假

PixelsPerInch 属性被忽略,控件位置和大小值未按比例使用。

【讨论】:

  • 但是,如果我在 Scaled 为 True 时更改 PixelsPerInch 值,为什么会有任何影响?表格不应该缩放到另一个维度吗?
  • “为什么会有影响”是什么意思?
  • 当我更改 PixelsPerInch 值(在设计时)时,表单不会缩放到另一个尺寸(在运行时)。
  • 没有。但是 IDE 并没有任何借口提供这样的服务。
  • 因此,为了在运行时进行扩展,您需要以下等式:pos_rt = pos_dt * dpi_rt / dpi_dt 其中dt 是设计时间,rt 是运行时间。 dt 的值存储在 dfm 文件中,dpi_rt 是在运行时通过询问系统获得的。
猜你喜欢
  • 2020-08-21
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
  • 1970-01-01
  • 2020-08-11
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多