Remarque
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.
Votre responsabilité en matière d’utilisation des commandes est limitée à l’établissement de connexions de mappage de messages entre les commandes et leurs fonctions de gestionnaire, une tâche pour laquelle vous utilisez l’Assistant Classe MFC. Vous devez également écrire le code pour les gestionnaires de commandes.
Les messages Windows sont généralement envoyés à la fenêtre frame principale, mais les messages de commande sont ensuite routés vers d’autres objets. L’infrastructure route les commandes via une séquence standard d’objets cibles de commande, dont l’un est censé avoir un gestionnaire pour la commande. Chaque objet cible de commande vérifie son mappage de messages pour voir s’il peut gérer le message entrant.
Différentes classes cibles de commande vérifient leurs propres mappages de messages à différents moments. En règle générale, une classe achemine la commande vers certains autres objets pour leur donner la première chance à la commande. Si aucun de ces objets ne gère la commande, la classe d’origine vérifie son propre mappage de messages. Ensuite, s’il ne peut pas fournir un gestionnaire lui-même, il peut acheminer la commande vers d’autres cibles de commande. La table Standard Command Route ci-dessous montre comment chacune des classes structure cette séquence. L'ordre général selon lequel une cible de commande achemine une commande est le suivant :
Vers son objet cible de commande enfant actuellement actif.
Vers elle-même.
Vers d’autres cibles de commande.
Quel est le coût de ce mécanisme de routage par rapport à ce que fait votre gestionnaire en réponse à une commande, le coût du routage est faible. N’oubliez pas que l’infrastructure génère des commandes uniquement lorsque l’utilisateur interagit avec un objet d’interface utilisateur.
Route de commande standard
| Lorsqu’un objet de ce type reçoit une commande . . . | Il se donne lui-même et d’autres objets cible de commande une chance de gérer la commande dans cet ordre : |
|---|---|
Fenêtre frame MDI (CMDIFrameWnd) |
1. CMDIChildWnd actif2. Cette fenêtre de cadre 3. Application (objet CWinApp) |
Fenêtre de cadre de document (CFrameWnd, CMDIChildWnd) |
1. Affichage actif 2. Cette fenêtre de cadre 3. Application (objet CWinApp) |
| Affichage | 1. Cette vue 2. Document attaché à la vue |
| Document | 1. Ce document 2. Modèle de document attaché au document |
| Boîte de dialogue | 1. Cette boîte de dialogue 2. Fenêtre propriétaire de la boîte de dialogue 3. Application (objet CWinApp) |
Lorsque les entrées numérotées dans la deuxième colonne du tableau précédent mentionnent d’autres objets, tels qu’un document, consultez l’élément correspondant dans la première colonne. Par exemple, quand vous lisez dans la deuxième colonne que la vue transfère une commande à son document, consultez l’entrée « Document » dans la première colonne pour suivre le routage.