CCmdTarget::OnCmdMsg

Виртуальный 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

Index