![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброе время суток.
Подскажите, пожалуйста. На форме расположен ScrollBox: TScrollBox, со свойством Align = alClient, на котором расположена pnlPanel:TPanel, со свойствами: Код:
pnlPanel.Height = 250; pnlPanel.Align = alClient; pnlPanel.Constraints.MinHeight = 200. Таким образом, при изменении высоты формы, панель будет занимать все свободное место на форме, НО нельзя будет установить высоту формы меньше минимальной высоты панельки (200). Задача: Необходимо добавить возможность пользователям уменьшать высоту формы до нуля, но высота панельки не должна быть меньше своей минимально возможной высоты, для этого при высоте формы меньшей высоты панельки должны появляться полосы прокрутки скроллбокса. Для решения этой задачи на событии OnResize формы выполняется следующая процедура. Код:
procedure TForm3.FormResize(Sender: TObject); begin if ScrollBox.Height < pnlPanel.Constraints.MinHeight + 10 then pnlPanel.Align := alTop else pnlPanel.Align := alClient; end; Но почему то, после запуска приложения, когда начинаешь уменьшать высоту формы и высота формы приближается к минимально допустимой высоте панельки, дальнейшее уменьшение невозможно, хотя pnlPanel.Align устанавливается в alTop. Но если в этот момент прервать уменьшение формы (отпустить левую кнопку мыши), а потом опять начать уменьшать форму, то форма будет без проблем уменьшаться до нужных размеров. Подскажите, пожалуйста, как сделать возможным уменьшение формы до нужных размеров без прерывания. PS: Извиняюсь, если описал проблему не совсем понятно. Последний раз редактировалось Admin, 02.09.2012 в 15:50. |