Объекты пользовательского интерфейса и идентификаторы команд
Элементы меню, кнопки панели инструментов и клавиши акселератора — это "объекты пользовательского интерфейса", способные создавать команды. Каждый такой объект пользовательского интерфейса имеет идентификатор. Вы связываете объект пользовательского интерфейса с командой, назначив тот же идентификатор объекту и команде. Как описано в сообщениях, команды реализуются как специальные сообщения. На рисунке "Команды в платформе" ниже показано, как платформа управляет командами. Когда объект пользовательского интерфейса создает команду, например ID_EDIT_CLEAR_ALL
, один из объектов в приложении обрабатывает команду— на рисунке ниже функция объекта OnEditClearAll
документа вызывается с помощью карты сообщений документа.
Команды в Framework
На рисунке "Обновление команд в платформе" ниже показано, как MFC обновляет объекты пользовательского интерфейса, такие как элементы меню и кнопки панели инструментов. Перед раскрывающимся меню или во время цикла простоя в случае кнопок панели инструментов MFC направляет команду обновления. На рисунке ниже объект документа вызывает обработчик команды обновления, OnUpdateEditClearAll
чтобы включить или отключить объект пользовательского интерфейса.
Обновление команд в Платформе