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

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

    Компонент TToolBar (Панель инструментов) представляет собой специальный контейнер для создания панелей инструментов. Главная отличительная черта компонента TToolBar - его способность гибкого управления дочерними элементами, которые он может группировать, выравнивать по размерам, располагать в несколько рядов. Компонент может манипулировать любыми вставленными в него дочерними элементами, но все его возможности в полной мере проявляются только со специально для него разработанным компонентом TToolButton (кнопка панели инструментов). Этот компонент похож на кнопку TSpeedButton, но не ищите его в палитре компонентов, - его там нет. Поскольку он разработан специально для компонента TToolBar, вставить его в панель инструментов можно только после щелчка правой кнопкой мыши на компоненте TToolBar и выборе в контекстном меню команды New Button (Новая кнопка) или New Separator (Новый разделитель) - разделители предназначены для функционального выделения на панели инструментов групп элементов и представляют собой разновидности кнопок TToolButton. Компонент TToolButton не имеет свойства, предназначенного для хранения изображения, однако компонент TToolBar позволяет извлечь нужное изображение из контейнера TImageList и поместить это изображение на кнопку.

    Свойство Buttons компонента TToolBar позволяет обращаться к каждому дочернему компоненту как к объекту класса TToolButton, свойства которого представлены в таблице.

   
Таблица 1. Свойства класса 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; Определяет стиль кнопки:
  • tbsButton - обычная кнопка;
  • tbsCheck - фиксируемая кнопка (остается в нажатом положении, для ее освобождения нужно щелкнуть на ней еще раз);
  • tbsDropDown - кнопка с символом раскрывающегося списка;
  • tbsSeparator - разделитель (на месте этой кнопки будет пустое место);
  • tbsDivider - разделитель (в работающей программе на месте этой кнопки будет вертикальная черта).
property Wrap: Boolean; Если имеет значение True, кнопка завершает текущий ряд кнопок. Игнорируется, если свойство Wrapable компонента TToolBar имеет значение True

    Свойства компонента TToolBar перечислены в таблице.

   
Таблица 2. Свойства компонента 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.




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