Compartir a través de


Categorías de mensaje

¿Para qué tipos de mensajes se escriben controladores? Hay tres categorías principales:

  1. mensajes de Windows

    Se incluyen principalmente los mensajes que comienzan por el prefijo WM_, excepto WM_COMMAND. Los mensajes de Windows se controlan mediante ventanas y vistas. Estos mensajes suelen contener parámetros que se usan para determinar cómo controlar el mensaje.

  2. Notificaciones del control

    Se incluyen los mensajes de notificación WM_COMMAND desde los controles y otras ventanas secundarias a sus ventanas primarias. Por ejemplo, un control de edición envía a su elemento primario un mensaje WM_COMMAND que contiene el código de notificación de control EN_CHANGE cuando el usuario realiza una acción que puede modificar el texto en el control de edición. El controlador de la ventana del mensaje responde al mensaje de notificación de manera adecuada, como mediante la recuperación del texto del control.

    El marco enruta los mensajes de notificación de control como los otros mensajes WM_. Sin embargo, existe la excepción del mensaje de notificación de control BN_CLICKED enviado por los botones cuando el usuario hace clic en ellos. Este mensaje se trata como un mensaje de comando y se enruta como los otros comandos.

  3. Mensajes de comando

    Se incluyen los mensajes de notificación WM_COMMAND desde los objetos de interfaz de usuario: menús, botones de barra de herramientas y teclas de aceleración. El marco procesa los comandos de forma diferente a otros mensajes y se pueden controlar mediante más tipos de objetos, como se explica en Destinos de comandos.

Mensajes de Windows y mensajes de notificación de control

Los mensajes de las categorías 1 y 2 ( mensajes de Windows y notificaciones de control) se controlan mediante ventanas: objetos de clases derivadas de la clase CWnd. Esto incluye CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CView, CDialog y sus propias clases derivadas de estas clases base. Estos objetos encapsulan un elemento HWND, un identificador de una ventana de Windows.

Mensajes de comando

Los mensajes de la categoría 3 (comandos) se pueden controlar mediante una variedad más amplia de objetos: documentos, plantillas de documento y el propio objeto de aplicación, además de ventanas y vistas. Cuando un comando afecta directamente a algún objeto determinado, tiene sentido que ese objeto controle el comando. Por ejemplo, el comando Abrir del menú Archivo está asociado de manera lógica a la aplicación: la aplicación abre el documento especificado al recibir el comando. Por lo tanto, el controlador del comando Abrir es una función miembro de la clase de aplicación. Para más información sobre los comandos y cómo se enrutan a objetos, consulte Cómo llama el marco a un controlador.

Consulte también

Mensajes y comandos en el marco