Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Il existe trois grandes catégories de messages pour lesquels vous écrivez des gestionnaires :
Messages de Windows
Cela inclut principalement ces messages commençant par le préfixe WM_ , à l’exception de WM_COMMAND. Les messages Windows sont gérés par les fenêtres et les affichages. Ces messages ont souvent des paramètres utilisés pour déterminer comment gérer le message.
Notifications de contrôle
Cela inclut les messages de notification WM_COMMAND provenant des contrôles et autres fenêtres enfants vers leurs fenêtres parents. Par exemple, un contrôle d’édition envoie à son parent un message WM_COMMAND contenant le code de notification de contrôle EN_CHANGE lorsque l’utilisateur a effectué une action qui a peut-être modifié du 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, comme récupérer le texte du contrôle.
L’infrastructure achemine les messages de notification de contrôle comme d’autres messages WM_ . Toutefois, une exception est le message de notification de contrôle BN_CLICKED envoyé par des boutons lorsque l’utilisateur clique dessus. Ce message est traité spécialement comme un message de commande et routé comme d’autres commandes.
Messages de commande
Cela inclut les messages de notification WM_COMMAND provenant des éléments de l’interface utilisateur : menus, boutons de barre d’outils et touches d’accélérateur. L’infrastructure traite les commandes différemment des autres messages, et elles peuvent être gérées par davantage de types d’objets, comme expliqué dans Les cibles de commande.
Messages Windows et messages de notification de contrôle
Les messages des catégories 1 et 2 — Messages Windows et notifications de contrôle — sont gérés par les fenêtres : les objets des classes dérivées de la classe CWnd
. Cela inclut CFrameWnd
, , CMDIFrameWnd
CMDIChildWnd
, CView
, et CDialog
vos propres classes dérivées de ces classes de base. De tels objets encapsulent HWND
, un descripteur de la fenêtre Windows.
Messages de commande
Les messages de la catégorie 3 — commandes — peuvent être gérés par un large éventail d’objets : documents, modèles de documents et objet d’application lui-même en plus des fenêtres et des vues. Lorsqu’une commande affecte directement un objet particulier, il est judicieux que cet objet gère la commande. Par exemple, la commande Ouvrir dans le menu Fichier est logiquement associée à l’application : l’application ouvre un document spécifié lors de la réception de la commande. Par conséquent, le gestionnaire de la commande Open est une fonction membre de la classe d’application. Pour plus d’informations sur les commandes et la façon dont elles sont routées vers des objets, consultez Comment l’infrastructure appelle un gestionnaire.