Routage de commandes
Votre responsabilité lors de l'utilisation des commandes est limitée à effectuer des connexions de table des messages entre les commandes et leurs fonctions gestionnaires, une tâche pour lesquelles vous utilisez la fenêtre Propriétés.Vous devez également écrire la plupart des 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 à d'autres objets.Il est recommandé que l'infrastructure itinéraire des commandes dans un ordre standard d'objets de cible de commande, l'un d'entre eux possède un gestionnaire pour la commande.Chaque objet de cible de commande vérifie sa table des messages pour voir s'il peut traiter le message entrant.
Les classes de cible de la commande permettent leurs propres tables des messages à des moments différents.En général, une classe dirige la commande à certains autres objets en leur attribuant la première chance à la commande.Si aucune de ces objets ne gère la commande, la classe d'origine vérifie sa propre table des messages.Ensuite, s'il ne peut pas fournir un gestionnaire lui-même, elle peut router la commande à mais les autres cibles de la commande.Le tableau itinéraire standard de commande suivant montre comment chacune des classes structure cette séquence.L'ordre général dans laquelle une cible de la commande itinéraire une commande est :
à son actuellement - objet enfant actif de cible de la commande.
à elle-même.
à d'autres cibles de la commande.
Le nombre coûteux est ce mécanisme de routage ?Comparé à ce que votre gestionnaire effectue en réponse à une commande, le coût du routage est faible.Considérez que l'infrastructure génère des commandes uniquement lorsque l'utilisateur interagit avec un objet d'interface utilisateur.
Itinéraire standard de commande
Lorsqu'un objet de ce type reçoit une commande... |
Elle se présente et d'autres objets de cible de commande la possibilité de gérer la commande dans cet ordre : |
---|---|
Fenêtre frame MDI (CMDIFrameWnd) |
|
Fenêtre frame de document (CFrameWnd, CMDIChildWnd) |
|
Vue |
|
Document |
|
Boîte de dialogue |
|
Où compté les entrées de la deuxième colonne de la mention précédente de tableau d'autres objets, tels qu'un document, consultez l'élément correspondant dans la première colonne.Par exemple, lorsque vous trouvez dans la deuxième colonne que la vue transmet une commande son document, consultez l'entrée « document » dans la première colonne pour suivre le routage plus approfondie.