У меня есть форма с расположенными на ней компонентами TreeView
и Memo. Значение свойства align обоих компонентов позволяет им занимать всю
форму. Я хотел бы расположить между ними движок типа Splitter, пропорционально
меняющий их размеры (один шире, другой меньше и наоборот), но к сожалению я
обладаю лишь дистрибутивом Delphi2 (Splitter вошел в палитру только в
Delphi3). Какой компонент мог бы с'имитировать поведение Splitter и
как это реализовать?
Предположим, Ваш TreeView расположен в левой, а Memo в правой части формы.
Вам нужно сделать следующее:
Установите свойство Align компонента TreeView на alLeft.
Вырежьте (Ctrl-X) компонент TMemo из вашей формы.
Добавьте компонент Panel и присвойте его свойству Align значение alClient.
Внутри панели разместите другой компонент Panel.
Установите его ширину, равной 8 пикселам, свойству Align присвойте значение
alLeft.
Скопируйте вырезанный компонент TMemo в панель Panel1 и присвойте свойству
Align значение alClient.
Panel2 - движок: теперь вам необходимо
добавить процедуры, приведенные ниже. Ваш код будет выглядеть приблизительно
так:
Код может быть модифицирован для получения горизонтального движка - идея,
надеюсь, понятна...
Конструирование Splitter: с помощью компонента Panel можно имитировать поведение Splitter, пропорционально меняющего размеры TreeView и Memo.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS