Визуальное программирование и MFC

       

Форма панели и режимы работы кнопок


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

Возможность или невозможность изменить форму панели управления определяется методом 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.



    Содержание раздела