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