我有简单的TForm1
形式,有2个面板。首先是Align := alLeft
,第二个是Align := alClient
,空框架TFrame1
。当我在表单中添加以下过程时,一切都可以正常运行。
procedure TForm1.FormCreate(Sender: TObject);
var
lFrame1, lFrame2 : TFrame1;
begin
lFrame1 := TFrame1.Create(nil);
lFrame1.Parent := pnl1;
lFrame1.Align := alClient;
lFrame2 := TFrame1.Create(nil);
lFrame2.Parent := pnl2;
lFrame2.Align := alClient;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
pnl1.Width := ClientWidth div 2;
end;
但是当我为Constrains
设置TFrame1
时,例如TFrame1.Contraints.MinWidth := 100
并最大化并恢复表单,那么表单将不会返回其先前的状态。无论帧大小,表单大小或约束值如何,它始终以相同的方式结束。在我的情况下,默认表单有300宽度,在最大化和恢复后,它以1062结束。但是没有Constraints
或FormResize
它可以工作。有人可以解释这种奇怪的行为吗?