Окт 16

Панель инструментов

Панель инструментов — это дочернее окно, обычно расположенное под меню приложения и содержащее одну или несколько кнопок. Когда пользователь щелкает мышью на кнопке панели инструментов, она посылает сообщение WM_C0MMAND своему родительскому окну. Традиционно кнопки панели инструментов соответствуют некоторым пунктам в меню приложения, обеспечивая более удобный способ доступа пользователя к командам меню. Следует отметить, что в простых приложениях меню может отсутствовать, а все необходимые команды могут быть реализованы с помощью панели инструментов.
Кнопки панели инструментов сами по себе не являются окнами. Они реализованы как графические объекты, нарисованные на поверхности окна панели инструментов. Изображения на кнопках поясняют их назначение. Иногда помимо изображения кнопка может содержать текстовую метку, расположенную или правее, или ниже картинки.
Панель инструментов устанавливает одинаковые размеры всех кнопок, а в случае наличия текстовых меток определяет размеры так, чтобы разместить самый длинный текст. Поэтому для текстовых меток следует выбирать короткие строки, иначе кнопки могут получиться слишком большими. В большинстве случаев кнопки на панелях инструментов содержат только растровые изображения, а назначение кнопок поясняется с помощью всплывающих окон подсказок.
Чтобы сделать интерфейс панели инструментов более удобным для пользователя, кнопки часто объединяют в группы. Кнопки, объединенные в группу, следуют одна за другой, а между группами остается небольшой промежуток. Такие промежутки реализуются при помощи кнопок стиля TBSTYLE_SEP, называемых кнопками-разделителями.
Кроме кнопок, панель инструментов может содержать и другие дочерние окна элементов управления, такие, как, например, комбинированный список {combo box). Встроенные элементы управления создаются при помощи функции CreateWindow.
Для добавления к приложению панели инструментов необходимо выполнить следующую последовательность действий:
1. Определить ресурс растрового образа панели инструментов.
2. Объявить и инициализировать массив структур типа TBBUTT0N, содержащий информацию о кнопках панели инструментов.
3. Вызвать функцию CreateToolBarEx для создания и инициализации панели инструментов.
Рассмотрим реализацию этих шагов на примере разработки приложения ToolBar, представляющего собой модифицированную версию программы MenuDemol, описанной в главе 6. В результате модификации к интерфейсу приложения будет добавлена панель инструментов, дублирующая некоторые команды меню.