delphiheightsplittertform

Unwanted form size growing on TSplitter move when Panel1.Constraints.MinHeight is set


I have this type of situation (see image), now when I move Splitter1 up in run-time, Panel2 height grows and also Form1 height grows.

But I need to know and block this type of event, when Splitter1 can't be moved up because of Panel1.Constraints.MinHeight is reached, so Panel2 can't be changed of it's height and Form1 too.

Thanks for any help.

preview

-- Edit --
Panel1.Align := alLeft;
Splitter1.Align := alBottom;
Panel2.Align := alBottom;


Solution

  • You can check and deny further sizing in splitter's CanResize event.

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