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

       

Методы класса CCmdUI


Класс CCmdUI играет важную роль в работе таких объектов пользовательского интерфейса как меню, панели управления и панели состояния. Методы этого класса позволяют заблокировать отдельные элементы меню, панелей управления и состояния, отметить их и т.д.

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

Рассмотрим немногочисленные методы этого класса.

Метод EnableЭтот виртуальный метод позволяет установить или снять блокировку с объекта пользовательского интерфейса, представленного объектом класса CСmdUI.

Заблокированные элементы не могут быть использованы до момента снятия блокировки. В случае блокировки индикатора панели состояния его текст не будет отображаться.

Метод SetCheck. Виртуальный метод SetCheck можно применять для изменения состояния строки меню и кнопок панели управления.

При использовании этого метода для строки меню нулевое значение параметра приводит к выделению строки меню символом O

, а единичное значение - к снятию выделения.

В случае применения метода SetCheck для кнопки панели управления параметр метода задает новое состояние кнопки: нулевое значение - кнопка переходит в нажатое состояние, единичное значение - кнопка переходит в отжатое состояние, если параметр равен двум - кнопка переходит в промежуточное состояние.

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

Метод SetRadio

Виртуальный метод SetRadio можно применять для изменения состояния строки меню и кнопок панели управления.

Если метод используется для управления меню, то значение TRUE параметра приводит к выделению строки меню символом ·

. Если параметр равен FALSE, то выделение снимается.



В случае использования метода SetRadio для кнопкой панели управления параметр метода задает новое состояние кнопки.
Значение FALSE переводит кнопку в нажатое состояние, значение TRUE - в отжатое состояние.

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



Метод SetText



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

Следует отметить, что при использовании метода SetText для изменения текста в панелях состояния необходимо отдельно позаботиться об изменение размера индикатора. Метод SetText не меняет размера индикатора, потому следует рассчитать ширину текста и изменить размер индикатора с помощью соответствующего метода.



Элементы данных класса CcmdUI



В состав класса CCmdUI входит и несколько элементов данных. Они позволяют определить идентификатор строки меню, кнопки панели управления или индикатора панели состояния, для которого вызван метод-обработчик:

  • m_nID - идентификатор объекта, для которого вызван метод-обработчик.


  • m_nIndex - индекс объекта, для которого вызван метод-обработчик.


  • m_pMenu - указатель на меню. Если команда обновления передана не от меню, элемент m_pMenu содержит значение NULL.


  • m_pOther - указатель на панель состояния или панель управления. Если команда обновления передана от меню, элемент m_pOther содержит значение NULL.



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