COleServerDoc::OnExecOleCmd

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 ÜbersichtMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;COleCmdUI

Index