我正在尝试控制我的程序打开一个新窗口的位置的坐标,因为目前它们是彼此打开的.有没有人有一个如何做到这一点的工作示例?
您始终可以手动设置.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;
Run Code Online (Sandbox Code Playgroud)
但是,Windows有一个默认的窗口放置算法,试图保持每个窗口的标题栏可见.在我的计算机上,重复点击这个Button1过程给出了很好的堆叠窗口:
procedure TForm1.Button1Click(Sender: TObject);
var
frm : TForm;
begin
frm := TForm.Create(Self);
frm.Show;
end;
Run Code Online (Sandbox Code Playgroud)
另外,不要忘记您可以使用内置的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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
419 次 |
| 最近记录: |