Иллюстрированный самоучитель по Delphi 7 для профессионалов

Компонент TToolBar

Перейдем к рассмотрению функциональных возможностей кнопок. Вы думаете, что "функциональные возможности" – это громко сказано? С одной стороны, да: кнопка – это то, на что нажимает пользователь, и не более того. Главное событие и для кнопки TToolButton, и для панели TToolBar – событие onclick. Кроме него они могут отреагировать только на перемещение мыши и на процессы перетаскивания/присоединения (Drag-and-Drop, Drag-and-Dock; описанные ниже в этой главе).

С другой стороны, кнопки можно нажимать в разнообразных вариантах и сочетаниях. Ключ к выбору варианта – свойство style объекта TToolButton:

type TToolButtonStyle = (tbsButton, tbsCheck, tbsDropDown, tbsSeparator, tbsDivider);
property Style: TToolButtonStyle;

Стили tbsSeparator и tbsDivider предназначены для оформления панели и представляют собой пустое место и вертикальный разделитель соответственно. Обычная кнопка – это, понятное дело, стиль tbsButton.

Если вы хотите создать одну или несколько кнопок, "залипающих" после нажатия, выберите стиль tbsCheck. После щелчка такая кнопка остается в нажатом состоянии до следующего нажатия. Об ее состоянии говорит свойство:

property Down: Boolean;

Если нужна группа кнопок, из которых только одна может пребывать в нажатом состоянии, следует воспользоваться свойством:

property Grouped: Boolean;

Такая группа называется группой с зависимым нажатием. Если на панели инструментов есть ряд расположенных подряд кнопок с style=tbscheck и Grouped=True, то этот ряд будет обладать свойствами группы с зависимым нажатием. Если групп зависимых кнопок должно быть две и более, разделить ИХ Между собой можно кнопкой другого стиля (например, tbsSeparator или tbsDivider) или любым другим элементом управления (рис. 5.1).

В такой группе всегда должна быть нажата хотя бы одна кнопка; на этапе разработки установите ее свойство Down в значение True. Но если это вам не подходит, можно установить свойство:

property AllowAllUp: Boolean;

В значение True – и можно отжимать все кнопки. Значение этого свойства всегда одинаково для всех кнопок в группе.

Иллюстрированный самоучитель по Delphi 7 для профессионалов › Элементы управления Win32 › Компонент TToolBar
Рис. 5.1. Несколько групп кнопок с зависимым нажатием на панели инструментов

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.