Sdílet prostřednictvím


COleServerDoc::OnExecOleCmd

Rámci volání této funkce spustit zadaný příkaz nebo zobrazit nápovědu k příkazu.

virtual HRESULT OnExecOleCmd( 
   const GUID* pguidCmdGroup, 
   DWORD nCmdID, 
   DWORD nCmdExecOpt, 
   VARIANTARG* pvarargIn, 
   VARIANTARG* pvarargOut 
);

Parametry

  • pguidCmdGroup
    Ukazatel na identifikátor GUID, který identifikuje sadu příkazů.Může být NULL označující výchozí skupiny příkazů.

  • nCmdID
    Příkaz Spustit.Musí být ve skupině identifikován pguidCmdGroup .

  • nCmdExecOut
    Způsob objekt spuštěn příkaz, jeden nebo více z následujících hodnot OLECMDEXECOPT výčtu:

  •    OLECMDEXECOPT_DODEFAULT

  •    OLECMDEXECOPT_PROMPTUSER

  •    OLECMDEXECOPT_DONTPROMPTUSER

  •    OLECMDEXECOPT_SHOWHELP

  • pvarargIn
    Ukazatel VARIANTARG obsahující vstupní argumenty pro příkaz.Může být NULL.

  • pvarargOut
    Ukazatel VARIANTARG příjem vrácené hodnoty výstupu příkazu.Může být NULL.

Vrácená hodnota

Vrátí S_OK v případě úspěchu; jinak, jeden z následujících kódů:

Value

Description

E_UNEXPECTED

Došlo k neočekávané chybě.

E_FAIL

Došlo k chybě

E_NOTIMPL

Označuje MFC sám pokusí přeložit a odeslání příkazu

OLECMDERR_E_UNKNOWNGROUP

pguidCmdGroupje non-NULL , ale neurčuje příkaz rozpoznaný skupiny

OLECMDERR_E_NOTSUPPORTED

nCmdIDnebyl rozpoznán jako platný příkaz ve skupiněpguidCmdGroup

OLECMDERR_DISABLED

Příkaz identifikován nCmdID je zakázán a nelze provést

OLECMDERR_NOHELP

Volající požádali o pomoc v příkazu identifikován nCmdID , ale není k dispozici žádná nápověda

OLECMDERR_CANCELED

Uživatel zrušil provedení

Poznámky

COleCmdUIlze povolit, aktualizovat a nastavit další vlastnosti DocObject příkazů uživatelského rozhraní.Jakmile jsou inicializovány příkazy, můžete provést jejich s OnExecOleCmd .

Rámci volá funkci před pokusem o přeložit a odeslání příkazu OLE dokumentu.Není třeba přepsat tato funkce zpracování standardní příkazy OLE dokumentu, ale musíte zadat lokálními této funkci, pokud chcete zpracovat vlastních příkazů nebo zpracovávat příkazy, které přijímají parametry nebo vrátit výsledky.

Většinu příkazů nejsou argumenty nebo vrácených hodnot.Pro většinu příkazů lze předat volající NULLs pro pvarargIn a pvarargOut .Příkazy, které očekávají vstupní hodnoty, volající deklarovat a inicializace VARIANTARG proměnné a předat ukazatel Proměnná v pvarargIn .Příkazy, které vyžadují jedinou hodnotu, může být argument uložen přímo VARIANTARG a předaný funkci.Více argumentů musí být zabaleno v rámci VARIANTARG pomocí jedné z podporovaných typů (například IDispatch a SAFEARRAY ).

Podobně, pokud příkaz vrátí argumenty volající očekávání deklarovat VARIANTARG, inicializovat na VT_EMPTY a jeho adresa v pvarargOut .Pokud příkaz vrátí jednu hodnotu, objekt lze uložit hodnotu přímo v pvarargOut .Více výstupních hodnot musí být zabalen nějakým způsobem vhodným pro VARIANTARG.

Základní třída provádění této funkce bude vás OLE_COMMAND_MAP struktury přidružený příkaz cíl a pokusu o odeslání příkazu odpovídající popisovač.Provádění základní třída pracuje pouze s příkazy, které přijmout argumenty nebo vrácených hodnot.Pokud potřebujete zpracovávat příkazy, které přijmout argumenty a vrácené hodnoty, musí přepsat tuto funkci a pracovat pvarargIn a pvarargOut parametry sami.

Požadavky

Záhlaví: afxole.h

Viz také

Referenční dokumentace

Třída COleServerDoc

Diagram hierarchie

Třída COleCmdUI