Compartir a través de


Envío y recepción de mensajes

Tenga en cuenta la parte de envío del proceso y cómo reacciona el marco.

La mayoría de los mensajes resultan de la interacción del usuario con el programa. Los comandos se generan mediante clics del mouse en elementos de menú o botones de barra de herramientas o pulsaciones de tecla de acelerador. El usuario también genera mensajes de Windows, por ejemplo, moviendo o cambiando el tamaño de una ventana. Otros mensajes de Windows se envían cuando se producen eventos como el inicio o la finalización del programa, ya que windows obtiene o pierde el foco, etc. Los mensajes de notificación de control se generan mediante clics del mouse u otras interacciones del usuario con un control, como un botón o un control de cuadro de lista en un cuadro de diálogo.

La Run función miembro de la clase CWinApp recupera los mensajes y los envía a la ventana adecuada. La mayoría de los mensajes de comando se envían a la ventana de marco principal de la aplicación. La WindowProc predefinida por la biblioteca de clases obtiene los mensajes y las enruta de forma diferente, en función de la categoría del mensaje recibido.

Ahora considere la parte receptora del proceso.

El receptor inicial de un mensaje debe ser un objeto window. Normalmente, los mensajes de Windows se controlan directamente mediante ese objeto de ventana. Los mensajes de comando, que normalmente se originan en la ventana del marco principal de la aplicación, se enrutan a la cadena de destino de comandos descrita en Enrutamiento de comandos.

Cada objeto capaz de recibir mensajes o comandos tiene su propio mapa de mensajes que empareja un mensaje o comando con el nombre de su controlador.

Cuando un objeto de destino de comandos recibe un mensaje o comando, busca en su mapa de mensajes una coincidencia. Si encuentra un controlador para el mensaje, llama al controlador. Para obtener más información sobre cómo se buscan los mapas de mensajes, vea How the Framework Search Message Maps. Consulte de nuevo la figura Comandos en el marco de trabajo.

Consulte también

Cómo llama la plataforma a un controlador