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

时间:2009-09-16 11:18:59

标签: delphi desktop dpi

我们有一些用Delphi 7编写的遗留应用程序。多年来我们已经收到一些请求来支持这些应用程序中的自定义桌面dpi设置,但我们已经能够躲避子弹直到知道。好吧,我们不能了。

当用户将他们的桌面设置为120dpi时,某些控件会“脱落”应用程序或延伸到表单的可见区域之外,特别是那些锚定在其父级右边缘的控件。

如果不进行心脏直视手术,我该怎么做才能预防这个问题。

1 个答案:

答案 0 :(得分:1)

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

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

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

如果你很幸运,只要在你的所有表格上设置Scaled为FALSE就可以在那里找到一个好方法,如果不是全部(这可能是乏味的,但不是完全心脏手术)。