Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л10.doc
Скачиваний:
8
Добавлен:
30.10.2018
Размер:
111.62 Кб
Скачать

5. Панелі із можливістю перебудови

Панелі із можливістю перебудови є подальшим розвитком інструментальних панелей. Прикладом такої панелі може служити панель ИСР C++Builder, що включає ряд дрібніших панелей швидких кнопок і палітру компонентів. Користувач може настроювати їх, змінювати місцеположення і т.п.

Почнемо розгляд з компоненту CoolBar. Він дозволяє будувати панелі, що складаються із смуг (bands). У смуги можуть включатися інструментальні панелі ToolBar і будь-які інші віконні компоненти: поля редагування, панелі і т.п. Кожний з цих компонентів автоматично забезпечується засобами переміщення його користувачем в межах вікна CoolBar. У смуги можуть вставлятися і не віконні компоненти, наприклад, мітки. Але вони не будуть переміщуваними.

Властивості смуг можна задавати редактором смуг, який викликається кнопкою з багатокрапкою біля властивості Bands. У вікні цього редактора ви можете переміщатися по смугах, додавати нові смуги або знищувати ті, що існують. При переміщенні по смугах у вікні Інспектора Об'єктів ви бачитимете властивості смуг. Властивість Control визначає розміщений на смузі компонент. Властивість Break визначає, чи займає смуга весь відповідний розмір контейнера CoolBar, або обривається.

Властивість Text задає текст, який може з'явитися на початку відповідної смуги.

Замість властивості Text (або разом з ним) можна задати властивість ImageIndex — індекс списку зображень ImageList, посилання на який задається властивістю Images. Вказані таким чином зображення з'являться на початку відповідних.

Властивості MinHeight і MinWidth визначають мінімальну висоту і ширину смуги при перестроюваннях користувачем смуг панелі.

Властивість FixedSize визначає, чи фіксований розмір даної смуги або він може змінюватися користувачем. За умовчанням для всіх смуг FixedSize = false, тобто всі смуги перебудовуються.

Для компоненту CoolBar в цілому, крім звичайних для інших панелей властивостей, треба звернути увагу на властивість BandMaximize. Воно визначає дію, якою користувач може встановити максимальний розмір смуги, не перетягуючи її межу: bmNone — така дія не передбачена, bmClick — клацанням миші, bmDblClick — подвійним клацанням. Найдоцільніше, мабуть, задавати значення bmDblClick або bmNone, оскільки значення bmClick приводить до різкого перестроювання смуг навіть при випадковому клацанні миші.

Властивість FixedOrder, якщо ії встановити в true, не дозволить користувачу в процесі переміщень смуг змінювати їх послідовність. Ймовірно, таке завдання краще, ніж значення за умовчанням, рівне false, оскільки надмірна свобода для користувача здатна його заплутати.

Властивість Vertical указує вертикальне або горизонтальне розташування смуг. За умовчанням Vertical = false, що відповідає горизонтальним смугам.

Ще більшу свободу перестроювань дає користувачу компонент ControlBar. Тільки оформлення панелі дещо відрізняється від CoolBar і крім того в ній може широко застосовуватися техніка перетягання і вбудовування Drag&Doc.

Помістіть на форму компонент ControlBar і перенесіть на нього декілька компонентів, наприклад, інструментальних панелей ToolBar і полів редагування Edit. Ви побачите, що кожен компонент, потрапляючи на ControlBar, одержує смугу захоплення, властиву технології Drag&Doc.

Встановіть у компонентів, розміщених на ControlBar, властивості DragModedmAutomatic і DragKind = dkDock. Це означає автоматичне виконання операцій Drag&Doc.

Властивості компоненту ControlBar RowSize і RowSnap визначають процедуру вбудовування. Властивість RowSize задає розміри смуг, в які можуть вбудовуватися компоненти, а RowSnap визначає захоплення смугами вбудовуваних компонентів. Властивість AutoDrag визначає, можна (при значенні true), або не можна простим перетяганням винести смугу за межі ControlBar.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]