CCmdTarget::OnCmdMsg

virtual BOOL OnCmdMsg ( UINT nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo );

Valor devuelto

Distinto de cero si se controla el mensaje; caso contrario 0.

Parámetros

nID

Contiene el identificador de comando.

nCode

Identifica el código de notificación de comando.

pExtra

Utilizar de acuerdo con el valor de nCode.

pHandlerInfo

Si no es NULL, OnCmdMsg rellena los miembros de la estructura pHandlerInfo en lugar de enviar el comando pTarget y pmf . Normalmente, este parámetro debe ser nula.

Observaciones

Llamado por el marco para enrutar y enviar mensajes de comando y manejar la actualización de los objetos de interfaz de usuario de comando. Esta es la rutina de aplicación principal de la arquitectura de comando de marco.

En tiempo de ejecución, OnCmdMsg envía un comando a otros objetos o maneja el propio comando llamando a la clase raíz CCmdTarget::OnCmdMsg, que hace la actual búsqueda de mapa de mensajes. Para una descripción completa de la ruta de comando predeterminado, consulte mensaje de gestión y asignación de temas en la Guía del programador de Visual C++.

En raras ocasiones, puede que desee reemplazar esta función miembro para ampliar el marco enrutamiento de comandos estándar. Consulte 21 de nota técnica para detalles avanzados de la arquitectura de enrutamiento de comandos.

Ejemplo

/ / Este ejemplo ilustra ampliar comandos estándar del marco de trabajo / / ruta de la vista a objetos administrados por la view.nbsp; En este ejemplo
/ / es de un objeto orientado a aplicación de dibujo, similar a las
/ / DRAWCLI muestra la aplicación, que dibuja y edita "formas".

BOOL CMyView::OnCmdMsg(UINT nID, int nCode, void* pExtra,
      PHandlerInfo AFX_CMDHANDLERINFO*)
{
   / / Ampliar ruta de comando del marco de la vista
   / / la CMyShape específica de la aplicación que está seleccionado actualmente
   y en la vista. m_pActiveShape es NULL si no hay ningún objeto de forma
   / / está seleccionado en la vista.
   Si ((m_pActiveShape! = NULL)
      & & m_pActiveShape - > OnCmdMsg (nID, nCode, pExtra, pHandlerInfo))
      Devuelve TRUE;

/ / Si no manejan los objetos en la ruta de comandos extendidos
   / / el comando, luego que la clase base OnCmdMsg manejarlo.
   volver a CView::OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
}

/ / Controlador del comando ID_SHAPE_COLOR (comando de menú para cambiar
/ / el color de la forma seleccionada actualmente) agregó
/ / el mensaje mapa de CMyShape (nota, no CMyView) utilizando ClassWizard.  

/ / El elemento de menú será automáticamente habilitado o deshabilitado, según / / si una CMyShape es seleccionado en la vista, es decir, / / dependiendo de si CMyView::m_pActiveView es NULL.  No es / / necesaria para implementar un controlador de ON_UPDATE_COMMAND_UI para habilitar / / o deshabilitar el elemento de menú.  

BEGIN_MESSAGE_MAP (CMyShape, CCmdTarget.)
   //{{AFX_MSG_MAP(CMyShape)
   ON_COMMAND (ID_SHAPE_COLOR, OnShapeColor)
   //}}AFX_MSG_MAP
END_MESSAGE_MAP()

I&ntroducción a CCmdTarget |nbsp; Miembros de clase | Diagrama de jerarquía

Vea tambié&nnbsp;CCmdUI

Index