- •(6 Год.)
- •II. TPageControl - набір сторінок із закладками
- •III. TImageList - сховище зображень
- •IV. TTrackBar - регулятор розміру
- •V. TProgressBar - індикатор прогресу
- •VI. TUpDown - спарена кнопка
- •VII.THotKey - введення акселератора
- •VIII.TDateTimePicker - введення і відображення дати/часу
- •IX.TMonthCalendar - календар
- •X.TStatusBar - інформаційна панель
- •XI.TToolBar і ToolButton - інструментальна панель і кнопки для неї.
X.TStatusBar - інформаційна панель
Компонент TStatusBar призначений для створення панелей стану, що звичайно розташовуються в нижній частині основної форми. Компонент може мати декілька секцій, а також кнопку зміни розмірів вікна, у який він поміщений.
З компонентом зв'язується об'єкт класу TStatuspanels, що визначає панелі компонента. Кожна панель відноситься до класу TStatusPanel і має такі властивості:
property Alignment: TAlignment; Визначає вирівнювання тексту щодо меж секції; taLeftJustify: притискається вліво; taCenter - центрується по горизонталі; taRightJustify - притискається вправо
property Bevel: TStatusPanelBevel; Визначає стиль рамки секції: pbNone - немає рамки; pbLowered - втиснена рамка; pbRaised - піднята рамка.
type TStatusPanelStyle = (psText, psOwnerDraw);
property Style: TStatusPanelStуlе;
Визначає засіб формування зображення панелі: psText - панель містить тільки текст і зображається автоматично; psOwnerDraw - панель промальовується програмою.
property Text: String; Визначає текст напису в секції.
property Width: Integer; Визначає ширину секції в пікселях.
Властивості компонента TStatusBar:
property Canvas: TCanvas; Канва для промальовування панелей.
property Panels: TStatusPanels; Містить об'єкти панелі. Властивість TStatusPanels. Items[Index: Integer]: TStatusPanel відчиняє доступ до панелі по її індексу.
property SimplePanel: Boolean; Забороняє/дозволяє створення декількох панелей. Якщо містить True, компонент має єдину панель.
property SimpleText: String; Містить текст панелі для SimplePanel=True.
property SizeGrip: Boolean; Дозволяє/забороняє вставку кнопки зміни розмірів вікна. Ігнорується, якщо Align<>alBottom
Для компонента визначені такі події:
property OnDrawPanel Виникає при необхідності промальовування панелі.
Property OnResize: Виникає при зміні розмірів компонента.
XI.TToolBar і ToolButton - інструментальна панель і кнопки для неї.
Компонент TToolBar являє собою спеціальний контейнер для створення інструментальних панелей. Головна відмітна риса TToolBar - його спроможність гнучкого керування дочірніми елементами, що він може групувати, вирівнювати по розмірах, розташовувати в декілька рядів. Компонент може маніпулювати будь-якими вставленими в нього дочірніми елементами, але усі його можливості повною мірою виявляються тільки зі спеціально для нього розробленим компонентом TToolButton (інструментальна кнопка). Цей компонент схожий на кнопку TSpeedButton, але в палітрі компонентів його немає. Оскільки він розроблений спеціально для TToolBar, вставити його в інструментальну панель можна тільки після клацання правої кнопки на компоненті TToolBar і виборі NewButton або NewSeparator (сепаратори призначені для функціонального виділення на інструментальній панелі груп елементів і являють собою різновид кнопок TToolButton). Компонент TToolButton не має властивості, призначеної для збереження картинки, проте TToolBar уміє використовувати контейнер TimageList, щоб витягти з нього потрібну картинку і помістити її на інструментальну кнопку.
Методику використання TToolBar разом із TToolButton роздивимося на прикладі програми
1. Помістіть на порожню форму компонент TimageList, клацніть по ньому правою кнопкою миші і виберіть продовження imageList Editor.
2. Для заповнення контейнера ImageList1 підійдуть будь-які невеличкі по розміру зображення. Завантажите піктограми з каталога images | icons: клацніть по кнопці Add вікна редактора і виберіть у цьому каталозі файл Сhemical.
3. Повторіть П.2 для файла Chip, після чого закрийте редактор ImageList.
4. Помістите на форму компонент TToolBar, у вікні Інспектор об'єктів розшукайте властивість Images, розкрийте список у правій колонці рядка Images і виберіть ImageList1. Ми зазначили компоненту на джерело зображень і можемо тепер вставляти в нього кнопки.
5. Клацніть по ToolBar1 правою кнопкою миші і виберіть NewButton.
6. Вставте роздільник NewSeparator, і ще одну кнопку.
7. Якщо ви захочете, щоб кнопки мали модний «плоский» вид встановіть у властивість Flat компонента ToolBar1 значення True.
Властивість Buttons компонента TToolBar дозволяє звернутися кожному дочірньому компоненту як до об'єкта класу TtoolButton, що має такі властивості:
property AllowAllUp: Boolean; Якщо містить True, синхронізує свій стан із станом інших кнопок у тієї ж групі: у будь-який момент може бути натиснута тільки одна кнопка групи. Ігнорується, якщо Grouped=False.
property Caption: String; Містить пов'язаний із кнопкою текст, який буде показаний, якщо властивість ShowCaptions компонента TToolBar має значення True
property Down: Boolean; Визначає стан кнопки: якщо містить True, кнопка утоплена
property DropdownMenu: TPopupMenu; Зв'язує допоміжне меню з натиснутою кнопкою.
property Grouped: Boolean; Дозволяє/забороняє враховувати властивість AllowAllUp
property ImageIndex: Integer; Визначає індекс пов'язаного з кнопкою зображення.
property Indeterminate: Boolean; Забороняє/дозволяє вибір кнопки.
TToolButtonStyle = (tbsButton, tbsCheck, tbsDropDown, tbsSeparator, tbsDivider)
property Style: TToolButtonStyle;
Визначає стиль кнопки: tbsButton - звичайна кнопка; tbscheck - кнопка, що западає, (залишається в натиснутому положенні; для її звільнення - потрібно клацнути по ній ще раз) ; tbsDropDown - кнопка із символом списку, що розкривається; tbsSeparator - роздільник (на місці цієї кнопки буде порожнє місце); tbsDivider - роздільник (у працюючій програмі на місці цієї кнопки буде вертикальна риска)
property Wrap: Boolean; Якщо має значення True, кнопка завершує поточний ряд кнопок. Ігнорується, якщо властивість Wrapable компонента TToolBar має значення True
Властивості компонента TToolBar:
property AutoSize: Boolean; Якщо містить True, висота компонента буде автоматично погоджуватися з висотою кнопок
property ButtonCount: Integer; Містить кількість вставлених в інструментальну панель дочірніх компонентів (не тільки кнопок TTootButton)
property ButtonHeight: Integer; Визначає висоту кнопок TtoolButton.
property DisabledImages: TimageList; Визначає контейнер для зображень заборонених кнопок.
property Flat: Boolean; Якщо містить True, панель і кнопки на ній прозорі для фона і навколо кнопки з'являється межа, тільки коли над нею розташовується покажчик миші.
property HotImages : TimageList; Визначає контейнер зображень для кнопок у момент, коли над кнопкою розташовується покажчик миші.
property Images: TimageList; Визначає контейнер для зображень кнопок у звичайному стані
property Indent: Integer; Визначає відступ у пікселях від лівого краю компонента для першого дочірнього елемента.
property List: Boolean; Якщо має значення True, зображення притискається до лівої межі кнопки, а текст - до правой, у противному випадку текст виводиться під зображенням. Ігнорується, якщо ShowCaptions = False
property RowCount: Integer; Містить кількість рядів кнопок.
property ShowCaptions: Boolean; Дозволяє/забороняє показ на кнопках тексту.
property Wrapable: Boolean; Забороняє/дозволяє розташовувати кнопки в декількох рядах
Для компонента визначена подія onResize, що виникає при зміні розмірів компонента.