我们有一些用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就可以在那里找到一个好方法,如果不是全部(这可能是乏味的,但不是完全心脏直视手术).