Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Angenommen, der Benutzer klickt im Menü "Datei" mit der Maus, wodurch eine WM_INITMENUPOPUP Nachricht generiert wird. Der Updatemechanismus des Frameworks aktualisiert gemeinsam alle Elemente im Menü "Datei", bevor das Menü herunterfällt, damit der Benutzer es sehen kann.
Dazu leitet das Framework Aktualisierungsbefehle für alle Menüelemente im Popupmenü entlang des Standardbefehlsrouting weiter. Befehlsziele im Routing haben die Möglichkeit, alle Menüelemente zu aktualisieren, indem sie den Aktualisierungsbefehl einem entsprechenden Nachrichtenzuordnungseintrag (des Formulars ON_UPDATE_COMMAND_UI) zuordnen und eine Update-Handler-Funktion aufrufen. Daher werden für ein Menü mit sechs Menüelementen sechs Aktualisierungsbefehle gesendet. Wenn ein Updatehandler für die Befehls-ID des Menüelements vorhanden ist, wird er aufgerufen, um die Aktualisierung auszuführen. Andernfalls sucht das Framework nach dem Vorhandensein eines Handlers für diese Befehls-ID und aktiviert oder deaktiviert das Menüelement entsprechend.
Wenn das Framework während der Befehlsweiterleitung keinen ON_UPDATE_COMMAND_UI Eintrag findet, wird das Benutzeroberflächenobjekt automatisch aktiviert, wenn irgendwo ein ON_COMMAND Eintrag mit derselben Befehls-ID vorhanden ist. Andernfalls wird das Benutzeroberflächenobjekt deaktiviert. Um sicherzustellen, dass ein Benutzeroberflächenobjekt aktiviert ist, geben Sie einen Handler für den Befehl an, den das Objekt generiert oder einen Updatehandler dafür angibt. Weitere Informationen finden Sie in der Abbildung im Thema User-Interface Objekte und Befehls-IDs.
Es ist möglich, die Standardmäßige Deaktivierung von Benutzeroberflächenobjekten zu deaktivieren. Weitere Informationen finden Sie bei der Mitgliedsvariable m_bAutoMenuEnable der Klasse CFrameWnd in der MFC-Referenz.
Die Menüinitialisierung erfolgt automatisch im Framework, wenn die Anwendung eine WM_INITMENUPOPUP Nachricht empfängt. Während der Leerlaufschleife durchsucht das Framework das Befehlsrouting für Schaltflächenaktualisierungshandler auf die gleiche Weise wie für Menüs.