Шаг 70 - Компонент TCoolBar

Этот компонент инкапсулирует компонент панели со шторками типа MSIE. То есть он отображает в контейнере несколько панелек. Я уже как-то говорил, что отрицательной стороной этого компонента является то, что на панельки можно поместить только оконный компонент. В смысле - можно поместить TEdit, TComboBox, а, например, мой любимый TSpeedButton нельзя. То есть можно, но выглядеть как нормальная панель, это безобразие не будет. Эта проблема преодолима вполне. Чаще всего просто либо скачивают (например, torry.ru) компонент, являющийся оконным, либо сами его делают. Либо Вам лень делать и то, и другое, то можно просто ассоциировать шторку с панелью TToolBar). Про то, как ассоциировать, чуть позже.

Так вот. Шторки добавляются, как любые другие элементы коллекции. Если Вы обратили внимание, в VCL довольно часто используются вместо простых списков так называемые классы коллекций. Классы коллекций изменяются at design time с помощью Item Colection Editor. Аналогичный используется в TStatusBar и многих других компонентных классах. Иногда проще бывает просто кинуть нужный компонент на объект класс TCoolBar, тогда автоматически создается шторка и ассоциируется с брошенным на панель компонентом. Например, можно сделать вот так:

gif/70_1.gif (5118 b)

TImageList здесь нужен для того, чтобы назначить изображения для TToolBar. Впрочем, аналогично назначаются и изображения для самих шторок. Теперь про ассоциированные шторки. Основной принцип CoolBar в том, чтобы шторки могли свободно автоматически перемещаться по контейнеру, при том сохраняя приличный внешний вид. Для этого используется принцип автоматического ресайза шторки при изменении размеров ассоцированного элемента. Этот самый элемент задается в свойстве шторки Control. Подпись к шторке задется в свойстве шторки Text.

В общем-то, использование TCoolBar довольно тривиально. Я прилагаю файл созданного проекта. Там вроде бы все понятно...


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Аванесов Самвел - 25.05.2002