调整具有宽度限制的框架大小

2024-01-20

我有简单的形式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 for TFrame1, 例如TFrame1.Contraints.MinWidth := 100并最大化并恢复窗体,则窗体将不会返回到之前的状态。无论框架大小、表单大小或约束值如何,它总是以相同的方式结束。在我的例子中,默认表单的宽度为 300,最大化并恢复后,它以 1062 结尾。但是没有Constraints or FormResize有用。有人可以解释这种奇怪的行为吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调整具有宽度限制的框架大小 的相关文章

随机推荐