Компонент TToolBar является инструментальной панелью и управляет компоновкой инструментальных быстрых кнопок и других компонентов. Размещаемые на панели компоненты автоматически располагаются рядами и упорядочиваются по размерам.
Для занесения на панель TToolBar кнопок надо щелкнуть на TToolBar правой кнопкой мыши и выбрать из всплывшего меню команду New Button. На форме появится очередная кнопка - объект типа TToolButton. Это не совсем обычная кнопка, так как ее вид и поведение определяется ее свойством Style, которое по умолчанию равно tbsButton - кнопка. Кнопка этого стиля похожа на кнопку TSpeedButton. Изображение на кнопке определяется свойством ImageIndex. Оно определяет индекс изображения, хранящегося во внешнем компоненте TImageList. Указание на этот компонент может задаваться такими свойствами компонента TToolBar, как Images, DisabledImages (указывает на список изображений кнопок в недоступном состоянии) и HotImages (указывает на список изображений кнопок в моменты, когда над ними перемещается курсор мыши).
Свойство MenuItem позволяет задать раздел главного или контекстного меню, который дублируется данной кнопкой. При установке этого свойства, если в соответствующем разделе меню было задано изображение и установлен текст подсказок (свойство Hint), то это же изображение появится на кнопке и тот же текст появится в свойстве Hint кнопки. Передадутся из раздела меню в кнопку также значения свойств Enabled и Visible. Свойство Wrap, установленное в true, приводит к тому, что после этой кнопки ряд кнопок на панели прерывается и следующие кнопки размещаются в следующем ряду.
Теперь вернемся к свойству Style, задающему стиль кнопки. Значение Style = tbsCheck определяет, что после щелчка пользователя на кнопке она остается в нажатом состоянии. Повторный щелчок на кнопке возвращает ее в отжатое состояние. Поведение такой кнопки подобно кнопкам TSpeedButton и определяется аналогичными свойствами AllowAllUp и Down. Если при этом в нескольких кнопках установлено свойство Grouped = true, то эти кнопки образуют группу, из которой только одна кнопка может находиться в нажатом состоянии.
Значение Style = tbsDropDown соответствует кнопке в виде выпадающего списка. Этот стиль удобен для воспроизведения выпадающего меню. Если для подобной кнопки задать в качестве свойства MenuItem головной раздел меню, то в выпадающем списке автоматически будут появляться разделы выпадающего меню. Можно вместо свойства MenuItem задать свойство DropDownMenu, определяющее контекстное меню (компонент TPopupMenu), которое будет отображаться в выпадающем списке.
Значение Style = tbsSeparator приводит к появлению разделителя, позволяющего отделить друг от друга кнопки разных функциональных групп. Значение Style = tbsDivider приводит к появлению разделителя другого типа - в виде вертикальной линии.
Свойство кнопки Indeterminate задает ее третье состояние - не нажатая и не отпущенная. Это свойство можно устанавливать в true во время выполнения, если в данном режиме кнопка не доступна.
Свойство Marked выделяет кнопку.
На панель Мы рассмотрели занесение на панель кнопок. Но в инструментальных панелях нередко используются и выпадающие списки. Например, для задания размера шрифта. Не представляет труда перенести на панель ToolBar такие компоненты, как ComboBox, SpinEdit и др.
Из общих свойств компонента TToolBar следует отметить ButtonHeight и ButtonWidth - высота и ширина кнопок в пикселях, и Wrapable - автоматический перенос кнопок в следующий ряд панели, если они не помещаются в предыдущем.
Свойства, определяющие вид панели: BorderWidth - ширина бордюра, EdgeInner и EdgeOuter - стиль изображения внутренней и внешней части панели (утопленный или выступающий), EdgeBorders - определяет изображение отдельных сторон панели (левой, правой, верхней, нижней).