我正在尝试控制我的程序打开一个新窗口的位置的坐标,因为目前它们是彼此打开的.有没有人有一个如何做到这一点的工作示例?
您始终可以手动设置.Top和.Left属性,如下所示:
procedure TForm1.Button1Click(Sender: TObject); var frm : TForm; begin frm := TForm.Create(Self); frm.Left := 100; //replace with some integer variable frm.Top := 100; //replace with some integer variable frm.Show; end;
但是,Windows有一个默认的窗口放置算法,试图保持每个窗口的标题栏可见.在我的计算机上,重复点击这个Button1过程给出了很好的堆叠窗口:
procedure TForm1.Button1Click(Sender: TObject); var frm : TForm; begin frm := TForm.Create(Self); frm.Show; end;
另外,不要忘记您可以使用内置的TPosition位置集:
procedure TForm1.Button1Click(Sender: TObject); var frm : TForm; begin frm := TForm.Create(Self); frm.Position := poOwnerFormCenter; { Other possible values: TPosition = (poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly, poScreenCenter, poDesktopCenter, poMainFormCenter, poOwnerFormCenter); //} frm.Show; end;