Dónde buscar mapas de mensajes
Cuando se crea una aplicación maestra con el Asistente para aplicaciones, este asistente escribe un mapa de mensajes para cada clase de destino de comando que crea automáticamente. Esto incluye las clases de aplicación derivada, documento, vista y ventana de marco. Algunas de estas asignaciones de mensajes ya tienen las entradas que proporciona el Asistente para aplicaciones para determinados mensajes y comandos predefinidos, y otras son simplemente marcadores de posición para los controladores que se agregarán.
El mapa de mensajes de una clase se encuentra en el archivo .CPP de la clase. Al trabajar con los mapas de mensajes básicas que crea el Asistente para aplicaciones, se usa el Asistente para clases a fin de agregar entradas para los mensajes y comandos que controlará cada clase. Un mapa de mensajes típico podría tener un aspecto parecido al siguiente después de agregar algunas entradas:
BEGIN_MESSAGE_MAP(CMyView, CFormView)
ON_WM_MOUSEACTIVATE()
ON_COMMAND(ID_EDIT_CUT, &CMyView::OnEditCut)
ON_UPDATE_COMMAND_UI(ID_EDIT_CUT, &CMyView::OnUpdateEditCut)
ON_BN_CLICKED(IDC_MYBUTTON, &CMyView::OnBnClickedMybutton)
ON_WM_CREATE()
END_MESSAGE_MAP()
El mapa de mensajes consta de una colección de macros. Dos macros, BEGIN_MESSAGE_MAP y END_MESSAGE_MAP, incluyen entre corchetes el mapa de mensajes. Otras macros, como ON_COMMAND
, rellenan el contenido del mapa de mensajes.
Nota:
Las macros del mapa de mensajes no van seguidas de punto y coma.
Cuando se usa el Asistente para agregar clases a fin de crear una clase, proporciona un mapa de mensajes para la clase. Como alternativa, puede crear un mapa de mensajes manualmente mediante el editor de código fuente.