Definir un controlador de mensajes para un mensaje reflejado

Actualización: noviembre 2007

Una vez se haya creado una nueva clase de control MFC, se pueden definir sus controladores de mensajes correspondientes. Los controladores de mensajes reflejados permiten a la clase del control controlar sus propios mensajes antes de que la ventana principal reciba el mensaje. Se puede usar la función de MFC CWnd::SendMessage para enviar mensajes desde un control a una ventana principal.

Con esta funcionalidad es posible, por ejemplo, crear un cuadro de lista que se redibuje a sí mismo en lugar de confiar en que lo haga la ventana principal (ventana propietaria). Para obtener más información sobre los mensajes reflejados, vea Controlar mensajes reflejados.

Para crear un control ActiveX con la misma funcionalidad, se debe crear un proyecto para el control.

Nota:

No se puede agregar un mensaje reflejado (OCM_Mensaje) para un control ActiveX mediante la ventana Propiedades, según se describe a continuación. Se deben agregar dichos mensajes manualmente.

Para definir un controlador de mensajes para un mensaje reflejado desde la ventana Propiedades

  1. Agregue un control, como una lista, un control Rebar, una barra de herramientas o un control de árbol al proyecto MFC.

  2. En la Vista de clases, haga clic en el nombre de la clase del control.

  3. En la ventana Propiedades, el nombre de la clase del control aparece en la lista Nombre de clase.

  4. Haga clic en el botón Mensajes para mostrar los mensajes de Windows disponibles para agregar al control.

  5. Desplácese hacia abajo en la lista de mensajes de la ventana Propiedades hasta que vea el encabezado Reflejado. Como alternativa, haga clic en el botón Categorías y contraiga la vista para ver el encabezado Reflejado.

  6. Seleccione el mensaje reflejado para el cual desee definir un controlador. Los mensajes reflejados aparecen señalados con el signo igual (=).

  7. Haga clic en la celda de la columna derecha en la ventana Propiedades para mostrar el nombre sugerido para el controlador como <add>HandlerName. (Por ejemplo, el controlador de mensajes =WM_CTLCOLOR sugiere <add>CtlColor.)

  8. Haga clic en el nombre sugerido que desea aceptar. Se agregará el controlador al proyecto.

    Los nombres de controladores de mensajes agregados aparecerán en la columna derecha de la ventana de mensajes reflejados.

  9. Para modificar o eliminar un controlador de mensajes, repita los pasos 4 a 7. Haga clic en la celda que contiene el nombre del controlador que desea modificar o eliminar y haga clic en la tarea apropiada.

Vea también

Tareas

Asignar mensajes a funciones

Agregar una función miembro

Agregar una variable miembro

Reemplazar una función virtual

Conceptos

Agregar funcionalidad con los Asistentes para código

Agregar una clase

Agregar un controlador de mensajes MFC

Referencia

Explorar la estructura de clases