delphi - 如何在 Delphi 7 应用程序中支持自定义桌面 DPI 设置?

标签 delphi desktop dpi

我们有一些用 Delphi 7 编写的遗留应用程序。多年来,我们收到过一些要求在这些应用程序中支持自定义桌面 dpi 设置的请求,但我们一直能够回避问题,直到知道为止。好吧,我们不能再这样了。

当用户将桌面设置为 120dpi 时,某些控件会“脱离”应用程序或超出窗体的可见区域,特别是锚定到其父级右边缘的控件。

在不进行心脏直视手术的情况下,我能做些什么来预防这个问题。

最佳答案

您可能知道,这是 well known issue with Delphi forms and interactions with system font sizes .

Delphi 表单的默认行为是尝试扩展以尊重(运行时)用户的桌面环境。然而,正如您所发现的,这可能会产生意想不到的不良副作用。

但是可以将 Scaled 属性(默认情况下为 TRUE)设置为 FALSE 以防止出现这种情况,但我建议您阅读第一篇文章,并考虑 the information in this article以确定这是否是适合您情况的正确解决方案。

如果您幸运的话,只需在所有表单上将“Scaled”设置为“FALSE”,即使不是一路顺利(这可能很乏味,但并不完全是心脏直视手术),也可能会帮助您实现这一目标。

关于delphi - 如何在 Delphi 7 应用程序中支持自定义桌面 DPI 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1432368/

相关文章:

sql-server - 为什么 Delphi 控制台应用程序需要表单才能使 TSQLConnection 工作?

delphi - Firedac select 与 Firebird 一起使用不返回任何记录

c# - 如何以编程方式更改我的 Windows 桌面墙纸?

c++ - 是否有用于在 XP 的双 View 或克隆桌面设置之间切换的 c/c++ 多显示器库?

java - Android蓝牙发送文件问题

android - 一个可绘制文件夹中的不同大小的图像(具有相同的名称)

css - dpi & dppx Chrome 浏览器问题

android - 如何让Delphi和Android使用相同的字符集?

德尔福2010 : How to save a whole record to a file?

java - 在 Java 中更改 BMP 图像的 DPI