Виртуальный BOOL OnCmdMsg ( UINT nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo );
Возвращаемое значение
Ненулевое значение, если сообщение обработано; в противном случае 0.
Параметры
nID
Содержит Идентификатор команды.
nCode
Идентифицирует кода уведомления команды.
pExtra
Соответствии с значение nCode.
pHandlerInfo
Если не NULL, заполняет OnCmdMsg в pTarget и pmf членов pHandlerInfo структуры вместо отправки команды. Как правило этот параметр должен иметь значение NULL.
Примечания
Вызывается средой для маршрутизации и направить сообщения команды и обрабатывать обновления объектов команд интерфейса пользователя. Это является главным осуществления обычной архитектуры команды framework.
Во время выполнения, OnCmdMsg отправляет команду к другим объектам или обрабатывает команду сам путем вызова корневого класса CCmdTarget::OnCmdMsg, который делает фактические карты сообщение поиска. Полное описание маршрутизации команд по умолчанию, см. обработки сообщений и отображение темы в Руководстве Visual C++ программист.
В редких случаях, может потребоваться переопределить эту функцию-член расширить рамки Маршрутизация стандартных команд. Называть техническое примечание 21 дополнительные подробности Маршрутизация команд архитектуры.
Пример
/ / Этот пример иллюстрирует расширение рамок стандартная команда / / маршрут из представления для объектов, управляемых view.nbsp; Этот пример
/ / Это от объектно ориентированное приложение для рисования, подобно
/ / DRAWCLI образец приложения, которая притягивает и редактирует «фигуры».
BOOL CMyView::OnCmdMsg(UINT nID, int nCode, void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo)
{
/ / Расширить рамки команда маршрут из представления
/ / CMyShape приложения, в настоящее время выбранного
/ / в представлении. m_pActiveShape имеет значение NULL, если объект не форму
/ / в настоящее время выбранного в представлении.
Если ((m_pActiveShape! = NULL)
& & m_pActiveShape - > OnCmdMsg (НДР, nCode, pExtra, pHandlerInfo))
Возвращает значение TRUE;
/ / Если не обрабатывать объекты в расширенной команды маршрут
/ / команды, пусть базового класса OnCmdMsg обрабатывать ее.
возвращение CView::OnCmdMsg (НДР, nCode, pExtra, pHandlerInfo);
}
/ / Обработчик команд для ID_SHAPE_COLOR (команды меню для изменения
/ / цвет выбранной фигуры) был добавлен в
/ / сообщение карта CMyShape (Обратите внимание, не CMyView) с помощью ClassWizard.
/ / Пункт меню будет автоматически включена или отключена, в зависимости от / / на CMyShape в настоящее время выбран ли в представлении, то есть, / / в зависимости от того, является ли CMyView::m_pActiveView значение NULL. Это не / / необходимые для реализации обработчика ON_UPDATE_COMMAND_UI для включения / / или отключить пункт меню.
BEGIN_MESSAGE_MAP (CMyShape, CCmdTarget)
//{{AFX_MSG_MAP(CMyShape)
ON_COMMAND (ID_SHAPE_COLOR, OnShapeColor)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
Обзор CCmdTarget | Члены класса | Иерархическая схема
См. также CCmdUI