在启动期间形成缩小

时间:2013-07-26 15:56:42

标签: windows delphi

几周前,一位用户报告我的程序的GUI缩小了。 今天我开始使用多显示器模式的笔记本电脑,可以重现这个问题:在Windows启动时,主窗体的大小为325x243像素,而不是648x700。

我没有一行代码来控制表单的宽度/高度。位置设置如下:MainForm.Position:= poDefault。用户无法调整表单的大小(BorderStyle:= bsSingle)。

什么可能导致这种奇怪? 这是我第二次使用附加的显示器启动笔记本电脑。一切都好的第一次。它可能与这种多监视器配置有关吗?

如果编译器没有生成与表单大小相关的代码,那么就像一些外部程序将代码注入到我的程序中以改变其大小。这似乎是合理的。有些程序正在这样做,以控制窗口如何分布在多个监视器上。我安装了其中一个,但它没有在Windows启动时运行。

1 个答案:

答案 0 :(得分:3)

  

位置设置如下:MainForm.Position:= poDefault

这就是答案。

http://docwiki.embarcadero.com/Libraries/XE4/en/Vcl.Forms.TForm.Position

表单显示在屏幕上的某个位置,高度和宽度由操作系统确定

然而,还有其他选项,如

poDefaultPosOnly :表单会显示您在设计时创建的大小,但操作系统会在屏幕上选择其位置

poScreenCenter :表单仍然是您在设计时留下的尺寸,但位于屏幕的中央。

还有很多其他人。

此外,您可以避免修复问题并添加变通方法:只需使用http://docwiki.embarcadero.com/Libraries/XE4/en/Vcl.Forms.TForm.Constraints

设置表单大小