TCoolBar, Delphi, Програмування, статті


Компонент TCoolBar, це новий різновид TToolBar. TCoolBar це елемент
управління, який зазвичай містить у собі два або більше TCoolBand-в, розміри і
місце розташування яких можна змінювати під час виконання програми. CoolBand в
свою чергу є областю елемента керування, яка може містити
інші віконні контроли, головним чином панелі інструментів, віконця
редагування, що випадають списки і анімація.


Створити coolbar досить просто: достатньо помістити компонент CoolBar з
набору Win32 VCL на форму. У CoolBar-а є досить багато налаштувань (налаштування
здійснюється через властивості): Align – За умовчанням, розташування
Coolbar налаштоване на верхню частину вікна, тому, щоб змінити розташування
кулбара, нам прийдеться підредагувати це властивість; Bitmap
використовується для зафарбовування фону CoolBar-а картинкою; властивість
FixedOrder визначає, чи може користувач перевизначити порядок
панелей.


TCoolBand





Як уже згадувалося вище, компонент Coolbar, це звичайно набір об'єктів
TCoolBand. Щоб додати кілька CoolBand-в у CoolBar, нам буде потрібно
викликати редактор Coolbar Band-ів. Зробити це можна шляхом натискання на значок,
розташований відразу після властивості Bands.


Один із способів розмістити компонент (або компонент-контейнер) на CoolBar-е,
це перетягнути його з палітри VCL, при цьому автоматично створиться новий band
для зберігання компонента. Інший спосіб полягає в тому, що компонент
вставляється у форму безпосередньо, а потім, за допомогою редактора CoolBar Band-ів
зв'язується з яким або CoolBand-ом. Далі на кулбар зазвичай добавлет Toolbar,
шляхом простого перетягування його з палітри Win32 на Coolbar. Потім на тулбар
додаються одна або кілька кнопок.


Найцікавіша можливість CoolBar-а, це те, що він може містити в собі
елементи керування, відмінні від кнопок.


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


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


Вам хочеться додати ще компонентів?

Як згадувалося вище, на CoolBar
можна додавати різні віконні компоненти. Віконні компоненти, це ті,
які успадковані від TWinControl. Це означає, що Labels і Shapes, наприклад,
не вийде додати на CoolBar. Однак, якщо уважно подивитися на Delphi
IDE, то можна виявити, що coolbar може так само містити меню, хоча меню і
не є віконним компонентом. Значить повинен бути спосіб додавати на кулбар
неокони компоненти!


Кульна менюшки на Cool Band-ах
Отже, спершу, нам необхідно
розмістити на формі компонент MainMenu і додати в нього пункти за допомогою Menu
designer. Зверніть увагу, що коли ми поміщаємо компонент TMainMenu на форму,
то значення властивості форми Menu встановлюється в MainMenu1. Нам необхідно
очистити цю властивість і тим самим вимкнути об'єкт MainMenu від форми, тому що
нам необхідно використовувати його в Coolbar-е.
Далі, додаємо Toolbar в
Coolbar а так само додаємо кілька ToolButton – один ToolButton для кожного
випадаючого меню. Якщо, наприклад, у Вас два меню верхнього рівня File і Edit, то
додати необхідно всього два ToolButton-а.
Далі, встановлюємо властивості
тулбара. Flat і ShowCaptions встановлюємо в True. Властивості
AutoSize і Grouped компонента ToolButton так само повинні бути
встановлені в True. І, на закінчення, з'єднуємо кожну кнопку з випадним меню,
використовуючи для цього властивість MenuItem.

Ось так повинен виглядати результат пророблених кроків (запущена
програма):


Трохи програмування

Під час виконання програми, можна додавати
CoolBand-и. Наступний код, додає CoolBand на CoolBar з розміщеним на ньому
TDateTimePicker.


 





procedure CreateDatePickerOnCoolBar;
var dtPick: TDateTimePicker;
begin
dtPick := TDateTimePicker.Create(CoolBar1);
dtPick.Parent := CoolBar1;
CoolBar1.Bands.Items[Count-1].Text := “Pick a date”;

end;

ЗАУВАЖЕННЯ: як згадувалося раніше, розміщення контрола в кулбаре змушує
об'єкт TCoolBar створити TCoolBand і помістити елемент керування в band-е. При
допомоги "CoolBar1.Bands.Items [count – 1]" ми пов'язуємо текст з останнім
створеним TCoolBand.
ЗАМЕЧАНІЕ2: Пам'ять компонента TDateTimePicker
автоматично звільняється при звільненні пам'яті батька. Відбувається це,
коли програма завершується і CoolBar знищується формою.


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


В кінці процедури CreateDatePickerOnCoolBar додайте






dtPick.OnCloseUp := dtpOnCloseUp;

OnCloseUp відбувається, коли випадає календар закривається. А тепер
використовуємо цю подію, щоб передати дату з DateTimePicker в компонент
Memo:


 





procedure TForm1.dtpOnCloseUp(Sender: TObject);
begin
Memo1.Lines.Add
(DateToStr((Sender as TDateTimePicker).Date));
end;


Не забудьте розмістити оголошення процедури dtpOnCloseUp секції
інтерфейсу (interface) юніта форми (private або public).


TControlBar


TCoolBar це стандартний Win32 елемент керування, який є частиною
операційної системи. Перевірте, чи присутній компонент TControlBar на
додаткової закладці набору компонент. TControlBar це рідний компонент VCL,
який працює практично так само як і кул бар. Цей компонент не використовує
у своїй роботі COMCTL32.DLL, як це робить TCoolBar, тому менш сприйнятливий
до примх Microsoft.


   Посилання
Див демонстрашку Webbrows
Delphi в директорії coolstuf яка демонструє використання TCoolbar.


Компонент
TMenubar. Це нащадок TToolbar, що має властивість меню, яке дозволяє
пов'язувати TMainMenu з панеллю інструментів (toolbar). Після цього компонент
включає всі пункти меню в тулбар.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*