Compartir a través de


Enviar y recibir mensajes

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

La mayoría de los mensajes son resultado de la interacción del usuario con el programa. Los comandos se generan cuando el mouse hace clic en los elemento de menú o los botones de la barra de herramientas o mediante pulsaciones de teclas del acelerador. El usuario también genera mensajes de Windows, por ejemplo, al mover una ventana o cambiar de tamaño. Se envían otros mensajes de Windows al producirse 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 cuando el mouse hace clic o el usuario interacciona con un control, como un botón o el control de cuadro de lista de un cuadro de diálogo.

La función miembro Run o la clase CWinApp recupera 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. El WindowProc predefinido por la biblioteca de clases obtiene los mensajes y los enruta de forma distinta, 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 de ventana. Normalmente, ese objeto de ventana controla directamente los mensajes de Windows. Los mensajes de comando, que normalmente se originan en la ventana de marco principal, se enrutan a la cadena de destino de comandos que se describe 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 una coincidencia en su mapa de mensajes. Si encuentra un controlador para el mensaje, hace una llamada al controlador. Para obtener más información sobre cómo se buscan los mapas de mensaje, consulte Cómo busca el marco los mapas de mensajes. Vea de nuevo la figura Comandos en el marco de trabajo.

Consulte también

Cómo el marco llama a un controlador