Вчимося програмувати
Програмування не можна навчити, можна тільки навчитися
Урок 15. Контейнери
Панелі загального призначення - Panel, Splitter, GroupBox, ScrollBox, PageScroller
За допомогоюPanel компонуються різні елементи інтерфейсу, функціонально пов'язані один з одним. Зовнішній вигляд панелі Panel визначається сукупністю параметрів:BevelInner - стиль внутрішньої частини панелі,BevelOuter - стиль зовнішньої частини панелі,BevelWidth - ширина зовнішньої частини панелі,BorderStyle - стиль бордюру,BorderWidth - ширина бордюру.
Компонент Splitter
ВластивістьMinSize компонентаSplitter встановлює мінімальний розмір пікселів обох панелей, між якими затиснутий роздільник. Завдання такого мінімального розміру необхідно, щоб при переміщеннях кордону панель не стиснулася до нульового розміру або до такої величини, при якій на ній зникли б якісь необхідні для роботи елементи управління. КомпонентSplitter має подіюOnMoved, яка настає після кінця переміщення кордону. У обробнику цієї події можна передбачити, якщо необхідно, впорядкування розміщення компонентів на панелях, розміри яких змінилися: перемістити якісь мітки, змінити розміри компонентів тощо.
Завдання 1. Створити форму, що містить три панелі, які розташовуються так, як показано на малюнку нижче. При зміні розміром вікна панель Panel1 повинна в будь-якому випадку займати всю нижню частину вікна, не збільшуючись у висоту. Панель Panel2 повинна займати ліву частину вікна, змінюючи при зміні розмірів вікна свою висоту, але не змінюючи ширину. А панель Panel3 повинна займати всю частину вікна, що залишилася. Крім того, треба забезпечитикористувачеві можливість змінювати положення кордону між панелями Panel2 і Panel3, розширюючи одну з цих панелей і стискаючи іншу. Виходячи з вимог, властивість Align треба встановити у панелі Panel1 в alBottom, у панелі Panel2 — в alLeft, у панелі Panel3 — alClient. А між Panel2 та Panel3 треба розмістити Splitter – роздільник. А)


ScrollBox - панель з прокручуванням (на стор.Additional)
Цей компонент призначений для створення області, в якій можуть розміщуватися компоненти, що займають велику площу, ніж сам ScrollBox.
ВластивістьAutoScroll дозволяє встановити автоматичну появу необхідних смуг прокручування, якщо розмір розміщених компонентів перевищує розмір області по горизонталі, вертикалі або в обох вимірах.
PageScroller (на стор. Win32)
Призначений для прокручування одного компонента, який може бути контейнером і містити в собіінші компоненти. Напрямок прокручування задається властивістюOrientation, яка може мати два значення:
- soHorizontal –прокручування в горизонтальному напрямку;
- soVertical – прокручування у вертикальному напрямку.
Компонент часто використовується разом із панелями інструментів, які зазвичай мають фіксовану ширину чи висоту, тобто. не вимагають переміщення видимої області у всіх напрямках.
Завдання 2. Встановити на форму компонент ScrollBox. На нього встановити шість компонент CheckBox (рис.2). Зменшити компонент ScrollBox так, щоб було видно лише три компоненти CheckBox. Малюнок 2
Багатосторінкові панелі
Компонент PageControl (стор. Win32).
Щоб задавати та редагувати сторінки цього компонента, потрібно клацнути на ньому правою кнопкою миші. У спливаючому меню ви можете бачити команди:
New Page — створити нову сторінку,
Next Page — перейти на наступну сторінку,
Previous Page — перейти до попередньої сторінки. Кожна сторінка, яку Ви створюєте, є об'єктом типуTTabSheet. Це панель, де можна розміщувати будь-які компоненти, вікна редагування тощо. Після того, як ви створите кілька сторінок, виділіть одну з них, клацнувши в її середині, і перегляньте її властивості в Інспекторі Об'єктів.