Delphi应用程序,表单大小因机器而异

时间:2009-08-24 22:54:58

标签: delphi forms size

我有一个Delphi 7应用程序,在WinXP开发机器上,表单大小与它的设计相同。

但是,在Vista计算机上运行应用程序时,某些表单已放大20-30%,在表单的右下边缘留下大的空白。

在我们客户的一台WinXP机器上,表单已缩小,导致滚动条显示在表单上。

在大多数其他机器上,它显示OK。

该应用确实记住了某些表单上次使用的表单大小,并在下次打开表单时使用它,但即使删除这些设置,默认表单大小仍然与设计方式不同。

有什么想法吗?

3 个答案:

答案 0 :(得分:11)

这听起来像well known issue with Delphi forms and interactions with system font sizes

Delphi表单的默认行为是尝试扩展以尊重(运行时)用户的桌面环境。然而,这可能会产生意想不到的不良副作用,并且您的“症状”听起来可能就像您的情况一样。

但一切都不会丢失! Scaled 属性(默认情况下为TRUE)可以设置为FALSE以防止这种情况,但我建议您阅读第一篇文章,并考虑The information in this article以确定这是否是正确的解决方案在你的情况下。

答案 1 :(得分:1)

Vista机器上的大字体与小字体可能?

答案 2 :(得分:0)

在每个表单的OnCreate事件中使用此代码:

如果Win32Platform = VER_PLATFORM_WIN32_NT则     Font.Name:='MS Shell Dlg 2'   其他     Font.Name:='MS Shell Dlg';