catégories de message
Pour les types de messages écrivez-vous des gestionnaires ? Il existe trois catégories :
messages Windows
Il s'agit essentiellement ces messages commençant par le préfixe de WM_, à l'exception WM_COMMAND. Les messages windows sont traités par windows et les vues. Ces messages peuvent occuper des paramètres qui sont utilisés pour déterminer comment traiter le message.
notification de contrôle
Cela inclut des messages de notification de WM_COMMAND les contrôles et d'autres fenêtres enfants vers les fenêtres parent. Par exemple, un contrôle d'édition de qui est un message de WM_COMMAND contenant le code de contrôle notification EN_CHANGE lorsque l'utilisateur a pris une mesure qui peut avoir modifié le texte du 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, comme récupérer le texte du contrôle.
L'infrastructure achemine les messages de notification contrôle comme les autres messages de WM_. Une exception ; toutefois, est le message de notification de contrôle BN_CLICKED envoyé par les boutons lorsque l'utilisateur clique sur les. Ce message est traité en particulier en tant que message de commande et routé comme les autres commandes.
messages de commande
Cela inclut des messages de notification de WM_COMMAND des objets d'interface utilisateur : menus, les boutons de la barre d'outils, et touches accélérateur. L'infrastructure traite des commandes différemment des autres messages, et elles peuvent être gérées par des types d'objets, comme expliqué dans Cible de la commande.
Messages windows et les messages de notification contrôle
Les messages dans les catégories 1 et 2 — les messages windows et les notifications de contrôle )sont traités par windows : objets de classes dérivées de la classe CWnd. Cela inclut CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CView, CDialog, et vos propres classes dérivées des classes de base. De tels objets encapsulent HWND, un descripteur de la fenêtre du windows.
OCM_COMMAND (message)
Les messages dans la catégorie 3 — les commandes et peuvent être traités par les objets larges de divers : documents, des modèles de document, et l'objet d'application lui-même en plus de les fenêtres et les vues. Lorsqu'une commande affecte directement un certain objet particulier, il est logique d'avoir ce handle d'objet de 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. Et le gestionnaire de la commande ouverte est une fonction membre de la classe d'application. Pour plus d'informations sur les commandes et leur mode routés aux objets, consultez l'Comment l'infrastructure appelle un gestionnaire.