Freigeben über


Illustration des Befehlsroutings

Betrachten Sie zur Veranschaulichung eine Befehlsmeldung aus einem Menüelement "Alle löschen" im Menü "Bearbeiten" einer MDI-Anwendung. Angenommen, die Handlerfunktion für diesen Befehl ist eine Memberfunktion der Dokumentklasse der Anwendung. So erreicht dieser Befehl seinen Handler, nachdem der Benutzer das Menüelement auswählt:

  1. Das Hauptrahmenfenster empfängt zuerst die Befehlsmeldung.

  2. Das MDI-Hauptfenster gibt dem aktuell aktiven MDI-Unterfenster die Möglichkeit, den Befehl zu verarbeiten.

  3. Das Standard-Routing eines MDI untergeordneten Frame-Fensters gibt seiner Ansicht eine Chance auf den Befehl, bevor es seine eigene Message-Map überprüft.

  4. Die Ansicht prüft zuerst ihre eigene Message-Map und wenn sie keinen Handler findet, leitet sie den Befehl an das zugehörige Dokument weiter.

  5. Das Dokument prüft seine Message-Map und findet einen Handler. Diese Member-Funktion des Dokuments wird aufgerufen und die Weiterleitung hält an.

Wenn das Dokument nicht über einen Handler verfügte, würde er als Nächstes den Befehl an die Dokumentvorlage weiterleiten. Dann kehrt der Befehl zur Ansicht und dann zum Frame-Fenster zurück. Schließlich würde das Framefenster seine Nachrichtenliste überprüfen. Wenn diese Überprüfung ebenfalls fehlgeschlagen ist, würde der Befehl wieder an das Hauptfenster des MDI-Frames und dann an das Anwendungsobjekt weitergeleitet – das ultimative Ziel von nicht behandelten Befehlen.

Siehe auch

So ruft das Framework einen Handler auf