HRESULT OnExecOleCmd ( const GUID * pGruppe, DWORD nCmdID, DWORD nCmdExecOut, VARIANTARG * PvaIn, VARIANTARG * PvaOut );
Rückgabewert
Gibt S_OK zurück , wenn erfolgreich; Ansonsten, eine der folgenden Fehlercodes:
| Wert | Beschreibung |
| E_UNEXPECTED | Unerwarteter Fehler |
| E_FAIL | Fehler |
| E_NOTIMPL | Gibt MFC selbst sollten versuchen zu übersetzen und den Befehl versenden |
| OLECMDERR_E_UNKNOWNGROUP | pGruppe ist nicht -NULL aber tut nicht geben Sie eine erkannten Befehlsgruppe |
| OLECMDERR_E_NOTSUPPORTED | nCmdID wird nicht als gültiger Befehl in der Gruppe pGruppe erkannt. |
| OLECMDERR_DISABLED | Der Befehl identifiziert durch nCmdID ist deaktiviert und kann nicht ausgeführt werden |
| OLECMDERR_NOHELP | Anrufer bat um Hilfe für den Befehl durch nCmdID identifiziert jedoch keine Hilfe verfügbar ist |
| OLECMDERR_CANCELED | Benutzer hat die Ausführung abgebrochen |
Parameter
pGruppe
Ein Zeiger auf eine GUID, die einen Befehlssatz bezeichnet. NULL an die Standardgruppe Befehl kann sein.
nCmdID
Der auszuführende Befehl. Muss in der Gruppe, die durch pGruppe.
nCmdExecOut
Die Art und Weise das Objekt sollte der Befehl eine oder mehrere der folgenden Werte aus der OLECMDEXECOPT -Enumeration ausgeführt.:
OLECMDEXECOPT_DODEFAULT
OLECMDEXECOPT_PROMPTUSER
OLECMDEXECOPT_DONTPROMPTUSER
OLECMDEXECOPT_SHOWHELP
pvaIn
Zeiger auf eine VARIANTARG , die Eingabeargumente für den Befehl enthält. NULL kann sein.
pvaOut
Zeiger auf eine VARIANTARG , die die Ausgabe empfangen Rückgabewerte des Befehls. NULL kann sein.
Bemerkungen
Das Framework ruft diese Funktion einen angegebenen Befehl ausführen oder Anzeigen der Hilfe für den Befehl.
COleCmdUI kann verwendet werden, zu aktivieren, aktualisieren und andere Eigenschaften der Benutzeroberflächenbefehle DocObject-Objekt festgelegt. Nachdem die Befehle initialisiert werden, können Sie diese mit OnExecOleCmd ausführen.
Das Framework Ruft die Funktion vor dem Versuch zu übersetzen und Befehl einen OLE-Dokument versenden. Sie brauchen nicht, diese Funktion standard OLE-Dokument-Befehle verarbeiten zu überschreiben, aber müssen Sie eine Außerkraftsetzung, um diese Funktion bereitstellen, wenn Sie eigene benutzerdefinierte Befehle verarbeiten oder verarbeiten Befehle, die Parameter akzeptieren, Parameter oder Ergebnisse zurückgeben möchten.
Die meisten Befehle nicht Argumente und Rückgabewerte. Für die meisten Befehle kann der Aufrufer NULLs für PvaIn und PvaOutübergeben. Für Befehle, die input-Werte zu erwarten, kann der Aufrufer deklarieren und initialisieren Sie eine Variable VARIANTARG und übergeben Sie einen Zeiger auf die Variable in PvaIn. Für Befehle, die einen einzelnen Wert erfordern, kann das Argument direkt in der VARIANTARG gespeichert und an die Funktion übergeben werden. Mehrere Argumente müssen innerhalb der VARIANTARG mit einem der unterstützten Typen (z. B. IDispatch und SAFEARRAY ) verpackt werden.
Ebenso, wenn ein Befehl Argumente zurückgibt der Anrufer dürfte ein VARIANTARGdeklarieren, initialisieren Sie es auf VT_EMPTYund übergeben Sie die Adresse PvaOut. Wenn ein Befehl einen einzelnen Wert zurückgibt, kann das Objekt den Wert direkt in PvaOutgespeichert. Mehrere Ausgabewerte müssen in irgendeiner Weise für die VARIANTARG geeignet verpackt werden.
Die Basisklasse Implementierung dieser Funktion wird die OLE_COMMAND_MAP Strukturen zugeordnet das Befehlsziel gehen und versuchen, den Befehl einen entsprechenden Handler zu versenden. Die Basisklasse Implementierung funktioniert nur mit Befehlen, die keine Argumente akzeptieren oder Rückgabewerte. Wenn Sie Befehle, die Argumente akzeptieren oder Rückgabewerte behandeln müssen, müssen Sie diese Funktion überschreiben und arbeiten mit den Parametern PvaIn und PvaOut sich.
COleServerDoc Übersicht | Member der Klasse | Hierarchiediagramm
Siehe auch&Nbsp;COleCmdUI