Partager via


Envoi et réception de messages

Envisagez l’envoi d’une partie du processus et la façon dont l’infrastructure répond.

La plupart des messages résultent de l’interaction utilisateur avec le programme. Les commandes sont générées par des clics de souris dans des éléments de menu ou des boutons de barre d’outils ou par séquences de touches d’accélérateur. L’utilisateur génère également des messages Windows en déplaçant ou redimensionnant une fenêtre, par exemple. D’autres messages Windows sont envoyés lorsque des événements tels que le démarrage ou l’arrêt du programme se produisent, car les fenêtres obtiennent ou perdent le focus, etc. Les messages de notification de contrôle sont générés par des clics de souris ou d’autres interactions utilisateur avec un contrôle, comme un bouton ou un contrôle de zone de liste dans une boîte de dialogue.

La Run fonction membre de la classe CWinApp récupère les messages et les répartit dans la fenêtre appropriée. La plupart des messages de commande sont envoyés à la fenêtre de trame principale de l’application. La WindowProc bibliothèque de classes prédéfinie obtient les messages et les route différemment, selon la catégorie de message reçue.

Considérez maintenant la partie réception du processus.

Le récepteur initial d’un message doit être un objet fenêtre. Les messages Windows sont généralement gérés directement par cet objet de fenêtre. Les messages de commande, généralement provenant de la fenêtre frame principale de l’application, sont routés vers la chaîne cible de commande décrite dans le routage des commandes.

Chaque objet capable de recevoir des messages ou des commandes a sa propre carte de messages qui associe un message ou une commande avec le nom de son gestionnaire.

Lorsqu’un objet cible de commande reçoit un message ou une commande, il recherche une correspondance dans son mappage de messages. S’il trouve un gestionnaire pour le message, il appelle le gestionnaire. Pour plus d’informations sur la façon dont les mappages de messages sont recherchés, voir Comment le framework recherche le message Cartes. Reportez-vous à nouveau à la figure Commandes dans l’infrastructure.

Voir aussi

Méthode d’appel d’un gestionnaire par le Framework