Размер нежелательной формы увеличивается при перемещении TSplitter, когда установлен Panel1.Constraints.MinHeight

У меня такая ситуация (см. Изображение), теперь, когда я двигаюсь Splitter1 во время выполнения, Panel2 высота растет, а также Form1 высота растет.

Но мне нужно знать и блокировать этот тип событий, когда Splitter1 не может быть перемещен из-за Panel1.Constraints.MinHeight достигнуто, так Panel2 не может быть изменено его высоты и Form1 тоже.

Спасибо за любую помощь.

предварительный просмотр

- Изменить -
Panel1.Align: = alLeft;
Splitter1.Align: = alBottom;
Panel2.Align: = alBottom;

2 ответа

Решение

Вы можете проверить и отрицать дальнейшую калибровку в сплиттере CanResize событие.

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

Установите для свойства Splitter AutoSnap значение false, а для свойства MinSize - значение MinHeight для Panel1.

Другие вопросы по тегам