我们有一些用 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/