Catégories de message
Pour les types de messages écrivez-vous des gestionnaires ?Il existe trois catégories principales :
Messages windows
Cela inclut principalement ces messages démarrant avec le préfixe du WM_ , à l'exception WM_COMMAND.Les messages windows sont traités par les fenêtres et les vues.Ces messages ont souvent des paramètres utilisés pour déterminer comment traiter le message.
Contrôlez les notifications
Cela inclut des messages de notification de WM_COMMAND des contrôles et d'autres fenêtres enfant vers leurs fenêtres parentes.Par exemple, un contrôle d'édition envoie son parent un message de WM_COMMAND avec le code de contrôle-notification d' EN_CHANGE lorsque l'utilisateur a pris une action qui peut avoir modifié le texte dans le contrôle d'édition.Le gestionnaire de la fenêtre du message répond au message de notification d'une certaine façon appropriée, telle qu'récupérer du texte dans le contrôle.
L'infrastructure itinéraire des messages de contrôle-notification comme d'autres messages de WM_ .Une exception, toutefois, est le message de contrôle-notification de BN_CLICKED envoyé par les boutons lorsque l'utilisateur clique dessus.Ce message est considéré particulièrement comme un message de commande et routé comme d'autres commandes.
Messages de commande
Cela inclut des messages de notification de WM_COMMAND des objets interface utilisateur : menus, boutons de barre d'outils, et touches accélérateur.L'infrastructure gère les commandes différent de celui des autres messages, et peuvent être gérées par plusieurs types d'objets, comme indiqué dans cibles de la commande.
Messages des fenêtres et messages de Contrôle-Notification
Les messages dans les catégories 1 et 2 — les messages windows et les notifications de contrôle )sont traités par windows : objets aux classes dérivées de la classe CWnd.Cela inclut CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CView, CDialog, et vos propres classes dérivées de ces classes de base.De tels objets encapsulent HWND, un handle à une fenêtre de windows.
Messages de commande
Les messages dans la catégorie 3 — les commandes — peuvent être gérés par des objets plus larges d'un divers : documents, les modèles de document, et l'objet d'application elle-même en plus de les fenêtres et les vues.Lorsqu'une commande affecte directement un objet particulier, il est utile d'avoir cette handle d'objet la commande.Par exemple, la commande ouverte dans le menu Fichier est logiquement associée à l'application : l'application ouvre un document spécifié en acceptant la commande.Pour que le gestionnaire pour la commande ouverte est une fonction membre de la classe d'application.Pour plus d'informations sur les commandes et comment elles sont routées aux objets, consultez comment l'infrastructure appelle un gestionnaire.