Операционная система Windows 95 для программиста


Описание кнопок


Далее вы должны создать массив структур TBBUTTON , который описывает кнопки и разделители между группами кнопок. В этом массиве необходимо зарезервировать по одной структуре для каждой кнопки и для каждого разделителя групп кнопок.

В файле commctrl.h находится такое определение структуры TBBUTTON:

typedef struct _TBBUTTON { int iBitmap; int idCommand; BYTE fsState; BYTE fsStyle; DWORD dwData; int iString; } TBBUTTON, NEAR * PTBBUTTON, FAR * LPTBBUTTON; typedef const TBBUTTON FAR * LPCTBBUTTON;

В поле iBitmap каждой структуры массива необходимо записать номер кнопки (нумерация начинается с нуля). Для разделителя в этом поле следует указать нулевое значение.

В поле idCommand вы должны записать идентификатор, который будет передаваться родительскому окну с сообщением WM_COMMAND, когда пользователь нажмет соответствующую кнопку. Если элемент массива структур TBBUTTON описывает разделитель группы кнопок, в поле idCommand вам нужно записать нулевое значение.

Поле fsState должно содержать флаг исходного состояния кнопки:

Флаг Описание
TBSTATE_ENABLED Кнопка находится в разблокированном состоянии. Если этот флаг не установлен, кнопка заблокирована и отображается серым цветом
TBSTATE_CHECKED Кнопка изображается в нажатом состоянии. Этот флаг используется для кнопок с фиксацией
TBSTATE_HIDDEN Скрытая кнопка, не отображается
TBSTATE_INDETERMINATE Кнопка отображается серым цветом
TBSTATE_PRESSED Кнопка изображается в нажатом состоянии
TBSTATE_WRAP Кнопки, расположенные после той, что имеет флаг TBSTATE_WRAP, отображаются на новой строке. Таким образом, вы можете создать многострочный Toolbar . Этот флаг можно указывать только тогда, когда установлен флаг TBSTATE_ENABLED

Теперь вам не нужно готовить отдельные изображения для разных состояний кнопок, так как при необходимости Toolbar изменяет внешний вид кнопок автоматически.

После того как Toolbar будет создан, приложение может изменять состояние кнопки, посылая окну Toolbar сообщение TB_SETSTATE. Позже мы перечислим сообщения, которые можно посылать окну Toolbar.




- Начало -  - Назад -  - Вперед -



Книжный магазин