Visual C++. Описание стандартных классов - CCmdUI
ОГЛАВЛЕНИЕ
CCmdUI
Класс CCmdUI используется в функциях обработки сообщения ON_UPDATE_COMMAND_UI в классах, производных от класса CCmdTarget. Когда пользователь раскрывает меню в своем приложении, приложение должно определить состояние каждой его команды, каждая из которых может быть доступной или недоступной. Эта информация предоставляется функциями обработки сообщения ON_UPDATE_COMMAND_UI. Прототипы этих функций и соответствующие им макросы карты сообщений могут быть созданы с использованием мастера ClassWizard. При раскрытии меню приложение ищет и вызывает функции обработки сообщения ON_UPDATE_COMMAND_UI, передавая им в качестве аргумента объект класса CCmdUI. Пользователь вызывает для данного объекта такие функции, как Enable или Check, позволяющие приложению правильно установить состояние для каждой команды меню. На месте команд меню могут выступать кнопки панели инструментов или другие объекты пользовательского интерфейса. При этом все они будут использовать одну и ту же функцию обработки сообщения ON_UPDATE_COMMAND_UI. В таблице П2.3 содержатся сведения о реакции отдельных элементов управления на вызов функций-членов класса CCmdUI.
Таблица П2.3. Воздействие функций класса CCmdUI на отдельные элементы управления
Элемент управления | Enable | SetCheck | SetRadio | SetText |
Команда меню | Делает доступной или недоступной | Устанавливает или снимает флажок (v) | Устанавливает или снимает переключатель (.) | Устанавливает текст элемента управления |
Кнопка панели инструментов | Делает доступной или недоступной | Выделяет, снимает выделение или переводит в неопределенное состояние | Работает аналогично функции SetCheck | Не используется |
Панель строки состояния | Делает текст видимым или невидимым | Устанавливает выступающую или нормальную рамку | Работает аналогично функции SetCheck | Устанавливает текст в панели |
Обычная кнопка в CDialogBar | Делает доступной или недоступной | Устанавливает или снимает флажок | Работает аналогично функции SetCheck | Устанавливает текст в кнопке |
Обычный элемент управления в CDialogBar | Делает доступной или недоступной | Не используется | Не используется | Устанавливает текст окна |
Класс CCmdUI не имеет базового класса. Описание данного класса содержится в файле заголовка afxwin.h.