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

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

Багатосторінкові панелі дозволяють економити простір вікна програми, розміщуючи на одному і тому ж місці сторінки різного змісту.

Почнемо розгляд багатосторінкових панелей з компоненту PageControl.

Перенесіть компонент PageControl на форму. Щоб задавати і редагувати сторінки цього компоненту, треба клацнути на ньому правою кнопкою миші. У меню, що спливло, ви можете бачити команди: NewPage — створити нову сторінку NextPage — перейти на наступну сторінку, PreviousPage — перейти на попередню сторінку.

Кожна створювана вами сторінка є об'єктом типу TTabSheet. Це панель, на якій можна розміщувати будь-які компоненти. Сторінка має наступні основні властивості:

Name - ім'я, по якому можна посилатися на сторінку;

Caption - напис, який з'являється на ярличку закладки;

PageІndex - індекс сторінки, по якому можна посилатися на сторінку;

ImageІndex - індекс зображення, яке може з'являтися на ярличку закладки;

Із загальних властивостей компоненту PageControl можна відзначити:

Style - Визначає стиль відображення компоненту: tsTabs — закладки, tsButtons — кнопкиб, tsFlatButtons — плоскі кнопки.

MultiLine - Визначає, чи будуть закладки розміщуватися в декілька рядів, якщо всі вони не поміщаються в одии ряд;

TabPosition - визначає місце розташування ярличків закладок: tpBottom — внизу, tpLeft — зліва, tpRight — справа і tpTop — зверху компоненту;

TabHeight і TabWidth - висота і ширина ярличків закладок в пікселах. Якщо значення цих параметрів задані рівними 0, то розміри ярличків визначаються автоматично за розмірами написів на них.

Images - посилання на компонент ImageList, який містить список зображень на ярличках. Властивості ImageІndex сторінок містять індекси, відповідні саме цьому списку.

ActivePage - ім'я активної сторінки.

Pages [int Index] - Доступ до сторінки по індексу (перша сторінка має індекс 0). Властивість тільки для читання.

PageCount - Кількість сторінок. Властивість тільки для читання.

У компонента є ряд методів, що дозволяють оперувати сторінками, створювати їх, знищувати, перемикати.

Основні події компоненту — OnChanging і OnChange. Перша з них відбувається безпосередньо перед переходом на іншу сторінку після клацання користувача на новій закладці. При цьому в обробник події передається по посиланню параметр AllowChange — дозвіл переходу. Якщо в обробнику задати AllowChange = false, то перехід не відбудеться. Подія OnChange відбувається відразу після переходу.

Розглянемо тепер компонент TabControl. Зовні цей компонент виглядає як PageControl, і має багато тих же властивостей: Style, MultiLine, TabPosition, TabHeight, TabWidth, Images, ScrollOpposite, ті ж події OnChanging і OnChange. Але принципова відмінність його від PageControl полягає в тому, що TabControl не має багатьох панелей (сторінок). Компонент є однією сторінкою з елементом управління, типу кнопки з багатьма положеннями. І треба написати відповідні обробники подій OnChanging і OnChange, щоб визначити, що саме повинно відбуватися на панелі при перемиканнях закладок користувачем. У компоненту є ще одна властивість — MultySelect, що дозволяє множинний вибір закладок. Якщо ця властивість встановлена в true, то в обробниках подій треба описати реакцію на такий вибір користувача.

Число закладок і їх надписи визначаються властивістю Tabs типу TStrings. У ньому ви можете задати написи закладок. Скільки строчок написів ви вкажете, стільки буде закладок. Поточний стан перемикача визначається властивістю TabІndex. Ви можете встановити його в процесі проектування, щоб визначити початковий стан перемикача. А потім в обробниках подій. OnChanging і OnChange можете читати цю властивість, щоб визначити, що саме вибрав користувач.

Застосовувати компонент TabControl має сенс в тих випадках, в яких потрібен багатопозиційний перемикач.

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