大家帮帮忙啊,这个问题卡死我了:(Form1中添加一个Button,其响应如下:procedure TForm1.Button1Click(Sender: TObject);
var Form2 : TForm2;
begin
Form2 := TForm2.Create(Application);
Form2.ShowModal;
end;这样弹出Form2,结果在Form2中就只能得到最初的设定时的Left和Top,即使移动了Form2,也获取不到改变后的值。
然而在Form1中却可以获得Form2移动后的Left和Top。真是郁闷。我需要在Form2中获得自己Left和Top的值阿
var Form2 : TForm2;
begin
Form2 := TForm2.Create(Application);
Form2.ShowModal;
end;这样弹出Form2,结果在Form2中就只能得到最初的设定时的Left和Top,即使移动了Form2,也获取不到改变后的值。
然而在Form1中却可以获得Form2移动后的Left和Top。真是郁闷。我需要在Form2中获得自己Left和Top的值阿
begin
Form2 := TForm2.Create(Application);
Form2.ShowModal;
end;去掉var Form2 : TForm2;,这个会屏蔽另一单元中定义的Form2,当然产生了你看到的效果!因为你以后调用的Form2是另一单元文件中的Form2,和这里的Form2不是同一个窗体实例!
try
Form:=TForm.Create(Self);
Form.ShowModal;
finally
Form.Free;
end;
我这么改procedure TForm1.Button1Click(Sender: TObject);
var FormTest : TForm2;
begin
FormTest := TForm2.Create(Application);
FormTest.ShowModal;
end;可还是不行,第二个窗体中就是得不到自身的Left和Top值的改变。:(