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

Лекція №10

Тема 3. Компоненти бібліотеки C++Builder (продовження)

Панелі і компоненти зовнішнього оформлення

1. Загальна характеристика компонентів зовнішнього оформлення.

2. Панелі загального призначення — компоненти Panel, GroupBox, Bevel, ScrollBox, Splitter.

3. Багатосторінкові панелі — компоненти TabControl, PageControl.

4. Інструментальні панелі — компоненти ToolBar і PageScroller.

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

6. Смуга стану StatusBar

1. Загальна характеристика компонентів зовнішнього оформлення

Панелі є контейнерами, що служать для об'єднання інших елементів управління. Вони можуть виконувати як чисто декоративні функції, об'єднуючи компоненти, пов'язані один з одним за призначенням, так і функції управління, організовуючи спільну роботу своїх дочірніх компонентів.

Нижче приведений перелік панелей, обслуговуючих їх компонентів і компонентів зовнішнього оформлення, включених в бібліотеку C++Builder6.

GroupBox (Standard) – є контейнером, об'єднуючим групу зв'язаних елементів управління, таких, як радіокнопки RadioButton, контрольні індикатори Checkbox і т.д.

Panel (Standard) - є контейнером для групування елементів управління і менших контейнерів. Панель можна використовувати також для побудови смуг стану, інструментальних панелей, палітр інструментів.

Bevel (Additional) - використовується для малювання прямокутної рамки, зображеної як виступаюча або втоплена.

ScrollBox (Additional) - використовується для створення зон відображення прокрутки.

Splitter (Additional) - використовується для створення в програмі панелей із змінюваними користувачем розмірами.

ControlBar (Additional) - використовується для розміщення компонентів інструментальної панелі.

TabContr (Win32) - дозволяє додавати закладки в стилі Windows, які може вибирати користувач.

PageControl (Win32) - дозволяє створювати сторінки в стилі Windows, керовані закладками або іншими органами управління, для економії місця на робочому столі.

StatusBar (Win32) - рядок стану програми, при необхідності — на декількох панелях.

ToolBar (Win32) - інструментальна панель для швидкого доступу до функцій, які часто використовуються.

CoolBar (Win32) - контейнер інструментальної панелі, розміри якої можуть змінюватися користувачем.

PageScroller (Win32) – прокрутка сторінок, забезпечує прокрутку великих вікон, наприклад, інструментальних панелей.

2. Панелі загального призначення — компоненти Panel, GroupBox, Bevel, ScroIiBox, Splitter

Панелі Panel використовуються найширше. З їх допомогою компонуються різні елементи інтерфейсу (кнопки, вікна редагування, списки), функціонально пов'язані один з одним. Такий функціональний зв'язок повинен підтримуватися і зоровим зв'язком — об'єднанням відповідних елементів в рамках однієї панелі. Панелі Panel можуть також використовуватися для організації інструментальних панелей, смуг стану і т.п., хоча для цих цілей є і спеціалізовані компоненти, які будуть розглянуті пізніше.

Одним з призначень панелей є також групування елементів, таких як RadioButton — радіокнопки. Всі радіокнопки, розташовані на панелі, працюють як узгоджена група: у будь-який момент може бути вибрана тільки одна з них. Аналогічно узгодженою групою працюють і розташовані на панелі швидкі кнопки SpeedButton, якщо вони мають однакове значення властивості GroupIndex. У той же час SpeedButton, розташовані на різних панелях або на панелі і формі, не утворюють зв'язаної групи навіть при однаковому значенні GroupIndex.

Зовнішній вигляд панелі Panel визначається сукупністю параметрів BevelInner |— стиль внутрішньої частини панелі, BevelOuter — стиль зовнішньої частини панелі, BevelWidth — ширина зовнішньої частини панелі, BorderStyle — стиль рамки, BorderWidth — ширина бордюру.

У бібліотеці C++Builder є спеціальний компонент — Splitter, який використовується для створення в програмі панелей із змінюваними користувачем розмірами. Його властивості Beveled і ResizeStyle, визначають вид роздільника, і властивість MinSize - обмежує мінімальний розмір панелей по обидві сторони від роздільника.

Панель GroupBox не має таких широких можливостей завдання різних стилів оформлення, як Panel. Але вона має вбудовану рамку з написом, який використовується для виділення на формі групи функціонально об'єднаних компонентів. Ніяких особливих властивостей, відмінних від вже розглянутих, панель GroupBox не має.

Компонент Bevel формально не є панеллю, він не може служити контейнером для компонентів. Наприклад, за допомогою Bevel не можна згрупувати радіокнопки. Проте чисто зорово компонент Bevel може використовуватися як компонент оформлення, що виділяє елементи управління об’єднані за змістом.

Стиль відображення Bevel визначається властивістю Style, яка може приймати значення bsLowered — втоплений і bsRaised — виступаючий. А контур компоненту визначається властивістю Shape, яка може приймати значення: bsBox — прямокутник, bsFrame — рамка, bsSpacer — пунктирна рамка, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine — відповідної верхня, нижня, ліва і права лінії. Залежно від значення Style лінії можуть бути втопленими або виступаючими.

Зупинимося тепер на компоненті ScrollBox — панелі з прокруткою. Цей компонент призначений для створення області, в якій можуть розміщуватися компоненти, що займають площу більшу, ніж сам ScrollBox. Наприклад, компонент ScrollBox можна використовувати для розміщення довгих текстових рядків або великих інструментальних панелей, які виходячи з міркувань економії площі вікна недоцільно відображати цілком.

Розмістити в межах невеликої області ScrollBox великі компоненти або багато компонентів, що займають в сумі велику площу, можна в процесі проектування, наприклад, за допомогою такого прийому. Збільште тимчасово розмір ScrollBox так, щоб в цьому компоненті помістилося все, що ви хочете розмістити. Проведіть необхідне розміщення. А потім скоротите розміри ScrollBox до потрібних.

Властивість BorderStyle визначає стиль рамки компоненту ScrollBox. Властивість AutoScroll дозволяє задати автоматичну появу необхідних смуг прокрутки, якщо розмір розміщених компонентів перевищує розмір області по горизонталі, вертикалі або в обох вимірюваннях. Якщо по якихось міркуваннях це небажано, ви можете самі управляти появою горизонтальної і вертикальної смуг за допомогою властивостей HorzScrollBar і VertScrollBar відповідно. Але в цьому випадку ви повинні самі задавати ряд властивостей смуги прокрутки і, перш за все, Range — розмір в пікселах прокручуваної області. Значення переміщення при одноразовому натисненні користувачем кнопки прокрутки може розраховуватися компонентом автоматично виходячи з розмірів області і вікна, якщо властивість смуги прокрутки Smooth встановлена в true. Інакше ви повинні задати величину одиничного переміщення у властивості Increment.

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