На этом шаге мы рассмотрим компонент TToolBar.
Компонент TToolBar (Панель инструментов) представляет собой специальный контейнер для создания панелей инструментов. Главная отличительная черта компонента TToolBar - его способность гибкого управления дочерними элементами, которые он может группировать, выравнивать по размерам, располагать в несколько рядов. Компонент может манипулировать любыми вставленными в него дочерними элементами, но все его возможности в полной мере проявляются только со специально для него разработанным компонентом TToolButton (кнопка панели инструментов). Этот компонент похож на кнопку TSpeedButton, но не ищите его в палитре компонентов, - его там нет. Поскольку он разработан специально для компонента TToolBar, вставить его в панель инструментов можно только после щелчка правой кнопкой мыши на компоненте TToolBar и выборе в контекстном меню команды New Button (Новая кнопка) или New Separator (Новый разделитель) - разделители предназначены для функционального выделения на панели инструментов групп элементов и представляют собой разновидности кнопок TToolButton. Компонент TToolButton не имеет свойства, предназначенного для хранения изображения, однако компонент TToolBar позволяет извлечь нужное изображение из контейнера TImageList и поместить это изображение на кнопку.
Свойство 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: TImageIndex; | Определяет индекс связанного с кнопкой изображения |
property Indeterminate: Boolean; | Запрещает/разрешает выбор кнопки |
property Style: TToolButtonStyle; | Определяет стиль кнопки:
|
property Wrap: Boolean; | Если имеет значение True, кнопка завершает текущий ряд кнопок. Игнорируется, если свойство Wrapable компонента TToolBar имеет значение True |
Свойства компонента TToolBar перечислены в таблице.
Свойство | Описание |
---|---|
property AutoSize: Boolean; | Если содержит значение True, высота компонента будет автоматически согласовываться с высотой кнопок |
property ButtonCount: Integer; | Содержит количество вставленных в панель инструментов дочерних компонентов (не только кнопок TToolButton) |
property ButtonHeight: Integer; | Определяет высоту кнопок TToolButton |
property DisabledImages: TImageList; | Определяет контейнер для изображений недоступных кнопок |
property Flat: Boolean; | Если содержит значение True, панель и кнопки на ней прозрачны для фона и вокруг кнопки появляется граница, только когда на ней располагается указатель мыши |
property HotImages: TImageList; | Определяет контейнер изображений для кнопок в момент, когда на кнопке располагается указатель мыши |
property Images: TImageList; | Определяет контейнер для изображений кнопок в обычном состоянии |
property List: Boolean; | Если имеет значение True, изображение выравнивается по левой границе кнопки, а текст - по правой, в противном случае текст выводится под изображением. Игнорируется, если ShowCaptions=False |
property Indent: Integer; | Определяет отступ в пикселях от левого края компонента для первого дочернего элемента |
property RowCount: Integer; | Содержит количество рядов кнопок |
property ShowCaptions: Boolean; | Разрешает/запрещает показ на кнопках текста |
property Wrapable: Boolean; | Запрещает/разрешает располагать кнопки в нескольких рядах |
Для компонента определено событие OnResize, возникающее при изменении размеров компонента.
На следующем шаге мы рассмотрим компонент TCoolBar.