Панель управления может иметь постоянную форму, которую пользователь не в состоянии изменить, или может быть динамически изменяемой. В этом случае пользователь может менять форму панели управления с помощью мыши.
Возможность или невозможность изменить форму панели управления определяется методом Create класса CToolBar. Флаг CBRS_SIZE_DYNAMIC позволяет изменять форму панели, а флаг CBRS_SIZE_FIXED запрещает это делать. Изменить эти характеристики можно динамически при помощи метода SetBarStyle.
В состав класса CToolBar входит метод SetButtonStyle. Этот метод позволяет установить режим работы кнопок панели управления, сгруппировав несколько кнопок вместе. Через первый параметр передается индекс кнопки или разделителя в панели управления, а второй параметр позволяет установить новый режим работы. Индекс кнопки или разделителя соответствует их порядковому номеру в панели управления. В качестве второго параметра можно указать комбинацию нескольких флагов:
- TBBS_BUTTON - стандартная кнопка.
- TBBS_SEPARATOR - разделитель.
- TBBS_CHECKBOX - переключатель
- TBBS_GROUP - с данной кнопки начинается группа кнопок.
- TBBS_CHECKGROUP - с данной кнопки начинается группа переключателей.
- TBBS_WRAPPED - позволяет создать панель управления, в которой кнопки расположены в несколько рядов. Рекомендуется установить этот флаг для самых последних кнопок в каждом ряду. Кнопка, следующая за кнопкой с установленным флагом TBBS_WRAPPED, отображается в новом ряду.
Определить текущий режим кнопки или разделителя можно при помощи метода GetButtonStyle класса CToolBar.
|
|
Индекс, или порядковый номер, любой кнопки панели управления можно определить по ее идентификатору. Для этого предназначен метод CommandToIndex класса CToolBar. Обратную задачу - по индексу кнопки возвращает ее идентификатор - выполняет метод GetItemID.