设置Panel1.Constraints.MinHeight时,TSplitter上不需要的表单大小会增加

时间:2013-11-01 22:04:19

标签: delphi height splitter tform

我有这种情况(见图),现在当我在运行时向上移动Splitter1时,Panel2身高增长,Form1身高也增加。

但是我需要知道并阻止此类事件,因为Splitter1由于Panel1.Constraints.MinHeight而无法向上移动,所以Panel2无法更改它身高和Form1

感谢您的帮助。

preview

- 编辑 -
Panel1.Align:= alLeft;
Splitter1.Align:= alBottom;
Panel2.Align:= alBottom;

2 个答案:

答案 0 :(得分:6)

您可以检查并拒绝在拆分器CanResize事件中进一步调整大小。

procedure TForm1.Splitter1CanResize(Sender: TObject; var NewSize: Integer;
  var Accept: Boolean);
begin
  Accept := ClientHeight - (NewSize + Splitter1.Height) >= Panel1.Constraints.MinHeight;
end;

答案 1 :(得分:1)

将Splitter AutoSnap属性设置为false,将其MinSize属性设置为Panel1的MinHeight。