Шаг 18.
Вкладка Win32. Компонент TCoolBar

    На этом шаге мы рассмотрим компонент TCoolBar.

    Компонент TCoolBar (Базовая панель) сочетает в себе возможности компонентов TToolBar и TControlBar. Он имеет свойство Bands, представляющее собой коллекцию (наследник класса TCollection) элементов класса TCoolBand ("плавающих панелей"). С помощью этого свойства можно вручную формировать содержимое и внешний вид каждой плавающей панели.

    TCoolBar является родительским классом для элементов управления Windows. Объекты CoolBar содержат дочерние элементы управления, которые могут перемещаться и изменять свои размеры независимо. Каждый элемент управления занимаем определенное пространство, представляющее объект TCoolBand из списка свойства Bands. Пользователь может перемещать объекты и изменять их размеры.

    Если свойство FixedSize имеет значение True, то CoolBar может содержать любые элементы управления, в противном случае - только экземпляры от производных классов TWinControl.

    Для создания панели, которая действует как объединяющий элемент для панелей инструментов и других элементов управления, используйте TControlBar.

    Для компонента TCoolBar необходима версия 4.70 или более поздняя библиотека COMCTL32.DLL. Этот файл обычно находится в каталоге WINDOWS/SYSTEM или WINDOWS/SYSTEM32 и требуется как во время проектирования, так и во время выполнения программы.

    При проектировании базовой панели используйте редактор, который вызывается двойным щелчком на компоненте. В редакторе создаются элементы списка Bands. Если в форме присутствуют элементы управления, которые могут быть использованы в базовой панели, они появляются в раскрывающемся списке для свойства Control. На рисунке 1 показан пример использования базовой панели.


Рис.1. Свойство Vertical для базовой панели имеет значение True

    Основные свойства классов TCoolBar и TCoolBand (плавающей панели с полоской перетаскивания) приведены ниже.

   
Таблица 1. Свойства класса TCoolBar
Свойство Описание
property AutoSize: Boolean; Если содержит значение True, высота компонента будет автоматически согласовываться с высотой полос
property Bands: TCoolBands; Содержит список всех полос. Свойство Items этого объекта открывает доступ к полосе по ее индексу
property Bitmap: TBitmap; Фоновый рисунок
property EdgeBorders: TEdgeBorders;
property EdgeInner: TEdgeStyle;
property EdgeOuter: TEdgeStyle;
Наличие и оформление окаймляющих линий панели
property FixedOrder: Boolean; При значении True пользователю разрешено перемещать объекты на панели, но не разрешено менять их порядок
property FixedHeight: Boolean; При значении True размер полос перетаскивания фиксирован для всех объектов на панели и не подстраивается под их высоту
property Images: TImageList; Список изображений, которые будут использоваться в качестве полос перетаскивания вместо стандартного изображения
property ShowText: Boolean; При значении True рядом с каждой плавающей панелью отображается текстовая строка
property Vertical: Boolean; При значении True порядок плавающих панелей определяется сверху вниз. В противном случае порядок определяется слева направо

   
Таблица 2. Свойства класса TCoolBand
Свойство Описание
property Bitmap: TBitmap; Фоновый рисунок
property Break: Boolean; При значении True данная панель будет располагаться с новой строки
property Control: TWinControl; Элемент управления, расположенный на панели
property FixedBackground: Boolean; При значении True фоновое изображение выравнивается по всему размеру панели. В противном случае происходит выравнивание по ее верхнему левому углу
property HorizontalOnly: Boolean; При значении True данную панель необходимо прятать, когда свойство Vertical родительской панели принимает значение True
property ImageIndex: TImageIndex; Номер изображения
property MinHeight: Integer; Определяет минимальное значение высоты полосы при изменении ее размеров
property MinWidth: Integer; Определяет минимальное значение ширины полосы при изменении ее размеров
property ParentBitmap: Boolean; Разрешает/запрещает использовать значение свойства Bitmap компонента-владельца TCoolBar вместо собственного свойства Bitmap
property Text: String; Текст, отображаемый в левой части панели (название панели), когда у родительского объекта свойство ShowText имеет значение True

    Рассмотрим события компонента TCoolBar.

   
Таблица 3. События компонента TCoolBar
Событие Описание
property OnChange: TNotifyEvent; Возникает при изменении свойства Break, Index или Width у любой полосы
property OnResize: TNotifyEvent; Возникает при изменении размеров компонента

    На следующем шаге мы рассмотрим компонент TPageScroller.




Предыдущий шаг Содержание Следующий шаг