On_update_command

virtuelle BOOL OnCmdMsg ( UINT nID, Int nCode, Void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo );

Rückgabewert

Ungleich NULL, wenn die Nachricht behandelt wird; andernfalls 0.

Parameter

nID

Enthält die Anfangsbefehls-ID.

nCode

Der Befehl Benachrichtigungscode identifiziert.

pExtra

Entsprechend dem Wert von nCode verwendet.

pHandlerInfo

Wenn nicht NULL, OnCmdMsg füllt die pTarget und Pmf -Member der Struktur pHandlerInfo anstelle von den Befehl Versand. In der Regel sollte dieser Parameter NULL sein.

Bemerkungen

Aufgerufen, zum Weiterleiten und Befehlsmeldungen Versand und die Aktualisierung der Benutzeroberfläche Befehlsobjekte zu behandeln. Dies ist die wichtigste Umsetzung Routine der Befehl Framework-Architektur.

Zur Laufzeit OnCmdMsg sendet einen Befehl auf andere Objekte oder den Befehl selbst-handles durch Aufrufen der Stammklasse On_update_command, die die tatsächliche Macht Meldungszuordnung Lookup. Eine vollständige Beschreibung der standardmäßigen Befehl Routing finden Sie unter Message Handling und Zuordnen von Themen im Visual C++ Programmer's Guide.

In seltenen Fällen können Sie diese Memberfunktion um des Rahmens zu erweitern, überschreiben standard Befehlsrouting. Finden Sie unter technischer Hinweis 21 erweiterte Details der Architektur Befehlsrouting.

Beispiel

/ / In diesem Beispiel wird die Erweiterung des Frameworks Standardbefehl / / route aus der Sicht auf Objekte verwaltet durch die view.nbsp; In diesem Beispiel
/ / ist aus ein Objekt-orientiertes Zeichenprogramm, ähnlich wie die
/ / DRAWCLI-Beispielanwendung, die erstellt und bearbeitet "Formen".

BOOL CMyView::OnCmdMsg(UINT nID, int nCode, void* pExtra,
      AFX_CMDHANDLERINFO*-pHandlerInfo)
{
   / / Der Rahmen Befehl Route aus der Sicht zu erweitern
   / / der Applikations-spezifische CMyShape, die aktuell ausgewählt ist
   / / in der Ansicht. M_pActiveShape ist NULL, wenn kein Shape-Objekt
   / / derzeit in der Ansicht ausgewählt ist.
   Wenn ((M_pActiveShape! = NULL)
      & & M_pActiveShape - > OnCmdMsg (nID, nCode, pExtra, pHandlerInfo))
      TRUE zurück;

/ / Wenn die Objekte in der erweiterten Befehl Route nicht behandeln
   / / den Befehl, dann lassen Sie die Basisklasse OnCmdMsg umgehen.
   Rückkehr CView::OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
}

/ / Den Command-Ereignishandler für die ID_SHAPE_COLOR (Menübefehl ändern
/ / die Farbe der aktuell ausgewählten Form) wurde hinzugefügt
/ / die Nachricht anzeigen, der CMyShape (Note, nicht CMyView) mit Klassen-Assistenten.  

/ / Das Menüelement werden automatisch aktiviert bzw. deaktiviert, je nach / / on, ob eine CMyShape derzeit in der Ansicht, d. h. ausgewählt ist / / ob CMyView::m_pActiveView NULL ist.  Es ist nicht / / notwendig, implementieren Sie einen ON_UPDATE_COMMAND_UI-Handler aktivieren / / oder Deaktivieren des Menüelements.  

BEGIN_MESSAGE_MAP (CMyShape, CCmdTarget)
   //{{AFX_MSG_MAP(CMyShape)
   ON_COMMAND (ID_SHAPE_COLOR, OnShapeColor)
   //}}AFX_MSG_MAP
END_MESSAGE_MAP()

Übersicht über die CCmdTarget -|  Member der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CCmdUI

Index