Panel (панель) — создаем панель инструментов
Панель инструментов представляет собой элемент управления, предназначенный для упрощения вызова команд для выполнения наиболее часто используемых операций. Обычно команды, вызываемые с помощью панели инструментов, дублируют часто используемые команды главного или контекстного меню. Панели инструментов содержат такие элементы управления, как кнопки и списки. Во многих Windows-приложениях имеется одна или более панелей инструментов, заметно облегчающих работу пользователя. Например, текстовый процессор Microsoft Word 2010 предоставляет несколько предопределенных панелей инструментов, кроме того, при необходимости панели можно перенастроить или даже создать новые. В качестве примера на скриншоте показана панель инструментов Главная этого текстового процессора.
Панели инструментов могут быть статическими, т. е. постоянно прикрепленными к некоторому краю окна, или плавающими, которые допускается перемещать в пределах окна. Создать панель инструментов можно:
- на основе компонента Panel;
- на основе специальных компонентов ToolBar или CoolBar;
- на основе компонента Form.
Эти способы подробно будут рассмотрены в следующих статьях.
Для создания панели инструментов можно разместить в форме компонент Panel (панель), расположенный на странице Standard Палитры компонентов. Заголовок у этого компонента обычно отсутствует, а выравнивание установлено по одному из краев формы, чаще всего по верхнему. Панель является контейнером для других компонентов, и на ней размещаются различные элементы управления, обычно кнопки быстрого доступа SpeedButton и комбинированные списки ComboBox.
Если у формы есть главное или контекстное меню, то кнопки панели инструментов (быстрого доступа) обычно дублируют их команды, вызывая обработчики событий OnClick «своих» пунктов меню.
- procedure TForm3.sbPrintClick(Sender: TObject);
- begin
- mnPrint.Click;
- end;
В вышеуказанной процедуре кнопка sbPrint панели инструментов, предназначенная для печати документа, при нажатии активизирует соответствующий пункт mnPrint меню.
Свойство Glyph или заголовки (свойство Caption)
На поверхности кнопок панели инструментов размещаются рисунки (свойство Glyph) или заголовки (свойство Caption), идентифицирующие кнопки и поясняющие их назначение. Например, на кнопку, предназначенную для печати документа, обычно помещают изображение принтера. (Подробная информация, связанная с характеристиками кнопок, в том числе с отображением на них рисунков, рассмотрены в статьях: BitBtn — кнопка с рисунком в Delphi, Button — стандартная кнопка в Делфи, SpeedButton — кнопка быстрого доступа в Дельфи).
Напомним, что кнопки SpeedButton могут образовывать группы зависимых переключателей. Если кнопка должна переключаться независимо от других кнопок, то следует создать группу из одной кнопки SpeedButton, при этом ее свой AllowAllUp должно быть установлено в значение True.
Рассмотрим пример создания панели инструментов (см. скриншот) на основе компонента Panel с размещением на ней кнопок SpeedButton быстрого доступа, комбинированного списка СomboBox и однострочного редактора Edit.
Три независимые кнопки дублируют команды меню, выполняющие выход из программы, печать данных и вызов справки. При нажатии любой из этих кнопок выполняются соответствующие команды меню.
Кнопки А, В и С работают как независимые переключатели, для чего каждая из них сгруппирована в отдельную группу. Чтобы эти кнопки включались/выключались щелчком мыши, их свойства AllowAllup установлены в значение True. Кнопка В первоначально является нажатой.