Wenn Aktualisierungshandler aufgerufen werden
Angenommen, der Benutzer mit der Maus im Menü Datei klickt, das eine WM_INITMENUPOPUP Nachricht generiert.Der Mechanismus zur Aktualisierung des Frameworks aktualisiert sowie alle Elemente im Menü Datei auf, bevor das Menü ablegt unten, sodass der Benutzer es werden kann.
Hierzu aktualisieren die Framework routen Befehle für alle Menüelemente im Popupmenü auf dem standardmäßigen routing Befehls.Ziele Befehls für das Routing haben die Möglichkeit, alle Menüelemente zu aktualisieren, indem Sie den Befehl mit einem entsprechenden Meldungszuordnungseintrag Update () ON_UPDATE_COMMAND_UI des Formulars entsprechen und eine "Funktion" Aktualisierungshandler aufrufen.Daher für ein Menü mit sechs Menüelementen sechs werden ausgesendet Befehle aktualisieren.Wenn ein Aktualisierungshandler für die Befehls-ID des Menüelements vorhanden ist, wird er aufgerufen, um die Aktualisierung auszuführen.Wenn dies nicht der Fall ist, sucht das Framework ermöglicht das Vorhandensein eines Handlers für diese Befehls-ID und das Menüelement oder deaktiviert.
Wenn das Framework den ON_UPDATE_COMMAND_UI Eintrag nicht während des Befehls routings findet, aktiviert es automatisch die Benutzeroberfläche, wenn es einen Eintrag ON_COMMAND irgendwo Befehl mit der gleichen ID vorhanden istAndernfalls wird die Benutzeroberfläche deaktiviert werden soll.Daher um sicherzustellen, dass ein Benutzeroberflächenelement Objekt aktiviert ist, stellen Sie einen Handler für den Befehl, den das Objekt generiert oder erstellen Sie einen Aktualisierungshandler dafür bereit.Zeigen Sie die Figur im Thema Benutzeroberflächenobjekte und Befehls-IDs.
Es ist möglich, dass das standardmäßige Deaktivieren der Benutzeroberfläche von Objekten zu deaktivieren.Weitere Informationen finden Sie im m_bAutoMenuEnable-Member der Klasse CFrameWnd in der MFC-Referenz.
Menü automatisch und im Framework ist die Initialisierung auftritt, wenn die Anwendung eine WM_INITMENUPOPUP Meldung empfängt.Während der Ruheschleife sucht das Framework die Schaltflächen für aktualisierungshandler routing Befehls, genauso wie es für Menüs.