在D2010中发现一个奇怪的问题,窗体创建时,取窗口大小值不正确,procedure TForm4.FormCreate(Sender: TObject);
var w,h:integer;
begin
form4.WindowState:=wsMaximized;
h:=form4.Height;
w:=form4.Width;
......
end; 发现 h,w 都不是窗体最大化后的值,还是程序设计时的默认大小值,怎么回事?如何取正确的值呢?以前D6没有这回事呵?
var w,h:integer;
begin
form4.WindowState:=wsMaximized;
h:=form4.Height;
w:=form4.Width;
......
end; 发现 h,w 都不是窗体最大化后的值,还是程序设计时的默认大小值,怎么回事?如何取正确的值呢?以前D6没有这回事呵?
D7和D2010都一样
测试代码是这两句
WindowState := wsMaximized;
Caption := IntToStr(Width) + ':' + IntToStr(Height);
procedure TForm1.FormCreate(Sender: TObject);
var
W, H: Integer;
begin
Memo1.Lines.add(Format('%d %d', [H, W]));
Form1.WindowState:=wsMaximized;
H := Form1.Height;
W := Form1.Width;
Memo1.Lines.add(Format('%d %d', [H, W]));
end;end.4516632 9770952
563 979