
- •Главное меню
- •Дизайнер меню
- •Пункты меню
- •Разделительные линии
- •Комбинации клавиш
- •8.1.7. Обработка команд меню
- •Пункты-переключатели
- •Взаимоисключающие переключатели
- •Недоступные пункты меню
- •Контекстное меню
- •Значки в пунктах меню
- •Отображение рисунков
- •Подсказки в строке состояния
- •Отдельная область прокрутки
- •Полосы прокрутки
- •Значки на кнопках
- •Надписи на кнопках
- •Разделительные линии
- •Кнопки-переключатели
- •Обработка нажатий кнопок
- •Подсказки к кнопкам
- •Управление видимостью панели кнопок
- •8.6.2. Команды
- •Привязка команд
- •Реакция на команды
- •Управление состоянием команд
Разделительные линии
Важными элементами панели инструментов являются разделительные линии, которые используются для группировки кнопок.
Шаг 64. В нашем примере логично отделить группу кнопок, отвечающих за размеры рисунка (Half Size, Normal Size и Double Size), от кнопок Open и Save As. Для этого вызовите контекстное меню панели инструментов и выберите команду New Separator (рисунок 8.64).
Рисунок
8.64. Создание разделительной линии на
панели инструментов с помощью команды
New Separator контекстного меню
На панель инструментов будет добавлен новый компонент, имеющий вид вертикальной черты. С помощью мыши отбуксируйте его на место между кнопками Save As и Half Size (рисунок 8.65):
Рисунок
8.65. Буксировка разделительной линии на
место между кнопками Save As и Half Size
Выполните компиляцию и запустите программу. Результат представлен на рисунке 8.66.
Рисунок
8.66. Кнопки на панели инструментов внешне
сгруппированы по назначению
Напоследок заметим, что разделительная линия представлена обычным компонентом ToolButton. То, какой вид имеет этот компонент (кнопка или разделительная линия), определяется свойством Style. Это свойство имеет много значений, которые перечислены в таблице 8.16.
Кнопки-переключатели
Кнопки панели инструментов могут работать как переключатели, «залипая» при нажатии. Для того, чтобы кнопка была переключателем, ее свойство Style должно содержать значение tbsCheck. Состояние кнопки (нажата она или нет) определяется значением свойства Down.
Кнопки-переключатели могут работать согласовано, т.е. включение одной из них означает выключение остальных. Именно так должны работать кнопки выбора масштаба отображения рисунка. Согласованная работа кнопок обеспечивается не так, как согласованная работа пунктов меню. Кнопки панели инструментов не имеют свойства GroupIndex, они группируются по другому принципу. Сгруппированными считаются расположенные рядом кнопки, у которых свойство Grouped равно значению True и свойство Style равно значению tbsCheck.
Шаг 65. Сгруппируйте кнопки Half Size, Normal Size и Double Size. Они уже находятся рядом друг с другом, поэтому просто установите их свойства Grouped и Style как показано на рисунке 8.67.
Рисунок
8.67. Кнопки Half Size, Normal Size и Double Size
сгруппированы в трехпозиционный
переключатель
У кнопки Normal Size установите свойство Down в значение True, предварительно убрав выделение кнопок Half Size и Normal Size (рисунок 8.68).
Рисунок
8.68. Начальное положение трехпозиционного
переключателя - Normal Size
Выполните компиляцию и запустите программу. Проверьте, что кнопки Half Size, Normal Size и Double Size работают как трехпозиционный переключатель (рисунок 8.69).
Рисунок
8.69. Кнопки-переключатели в работе
Шаг 66. Завершая дизайн панели инструментов, сделайте кнопки Save As, Half Size, Normal Size и Double Size недоступными, установив у них свойство Enabled в значение False (рисунок 8.70). Эти кнопки будут оставаться недоступными, пока пользователь не откроет какой-нибудь рисунок.
Рисунок
8.70. Некоторые кнопки на панели инструментов
отключены до тех пор, пока пользователь
не откроет какой-нибудь графический
файл
Теперь все готово к тому, чтобы запрограммировать обработчики для кнопок панели инструментов.