На этом шаге мы рассмотрим компонент 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 (плавающей панели с полоской перетаскивания) приведены ниже.
Свойство | Описание |
---|---|
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 порядок плавающих панелей определяется сверху вниз. В противном случае порядок определяется слева направо |
Свойство | Описание |
---|---|
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.
Событие | Описание |
---|---|
property OnChange: TNotifyEvent; | Возникает при изменении свойства Break, Index или Width у любой полосы |
property OnResize: TNotifyEvent; | Возникает при изменении размеров компонента |
На следующем шаге мы рассмотрим компонент TPageScroller.