Udostępnij za pośrednictwem


COleServerDoc::OnExecOleCmd

Ramy wywołuje tę funkcję na wykonanie określonego polecenia lub wyświetlić Pomoc dla polecenia.

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

Parametry

  • pguidCmdGroup
    Wskaźnik na identyfikator GUID, który identyfikuje zestaw poleceń.Może być NULL , wskazując polecenie grupy domyślnej.

  • nCmdID
    Polecenie do wykonania.Musi być w grupie identyfikowane przez pguidCmdGroup.

  • nCmdExecOut
    Sposób obiektu należy wykonać polecenie jedną lub więcej z następujących wartości OLECMDEXECOPT wyliczenie:

  •    OLECMDEXECOPT_DODEFAULT

  •    OLECMDEXECOPT_PROMPTUSER

  •    OLECMDEXECOPT_DONTPROMPTUSER

  •    OLECMDEXECOPT_SHOWHELP

  • pvarargIn
    Wskaźnik do VARIANTARG zawierających argumenty wejściowe dla polecenia.Może być NULL.

  • pvarargOut
    Wskaźnik do VARIANTARG do odbierania wartości zwracanych danych wyjściowych polecenia.Może być NULL.

Wartość zwracana

Zwraca S_OK w przypadku powodzenia; inaczej, jeden z następujących kodów błędów:

Wartość

Opis

E_UNEXPECTED

Wystąpił nieoczekiwany błąd.

E_FAIL

Wystąpił błąd

E_NOTIMPL

Wskazuje MFC sam powinni próbować tłumaczenia i wysłania polecenia

OLECMDERR_E_UNKNOWNGROUP

pguidCmdGroupjest non-NULL , ale nie określono grupy rozpoznanego polecenia

OLECMDERR_E_NOTSUPPORTED

nCmdIDnie został rozpoznany jako prawidłowy polecenia w grupiepguidCmdGroup

OLECMDERR_DISABLED

Polecenie określone przez nCmdID jest wyłączone i nie można wykonać

OLECMDERR_NOHELP

Obiekt wywołujący zwrócił się o pomoc na polecenie określone przez nCmdID , ale nie jest dostępna Pomoc

OLECMDERR_CANCELED

Użytkownik anulował wykonanie

Uwagi

COleCmdUImożna włączyć, aktualizacji i ustaw inne właściwości polecenia interfejsu użytkownika obiektów DocObject.Po polecenia są inicjowane, można wykonać je z OnExecOleCmd.

Ramy wywołuje funkcję przed próbą wysłania polecenia dokumentu OLE i tłumaczy.Nie trzeba zastąpić tej funkcji do obsługi standardowych poleceń dokumentu OLE, ale do obsługi niestandardowych poleceń lub poleceń, które akceptują parametrów lub zwracają wyniki, musisz podać przesłonięcie do tej funkcji.

Większości poleceń podjąć argumentów lub nie zwraca wartości.W przypadku większości poleceń można przekazać wywołujący NULLs dla pvarargIn i pvarargOut.Dla poleceń, które oczekują, że wartości wejściowych wywołującego można zadeklarować i zainicjować VARIANTARG zmienna i przekazać wskaźnik do zmiennej w pvarargIn.Dla poleceń, które wymagają pojedynczej wartości argumentu mogą być przechowywane bezpośrednio w VARIANTARG i przekazany do funkcji.Wiele argumentów muszą być pakowane w VARIANTARG za pomocą jednej z obsługiwanych typów (takich jak IDispatch i SAFEARRAY ).

Podobnie, jeśli polecenie zwraca argumentami wywołujący oczekuje zadeklarować VARIANTARG, aby zainicjować VT_EMPTYi przekazać jej adres w pvarargOut.Jeśli polecenie zwraca jedną wartość, obiekt może przechowywać ją bezpośrednio w pvarargOut.Wiele wartości wyjściowych muszą być pakowane w sposób odpowiedni dla VARIANTARG.

Klasa bazowa wykonania tej funkcji będą walk OLE_COMMAND_MAP struktur związanych z docelowej polecenia i próby wysłania polecenia odpowiedni program obsługi.Klasa bazowa wykonania działa tylko z poleceń, które nie akceptują argumentów lub zwracać wartości.Jeśli trzeba obsługiwać poleceń, które akceptuje argumentów lub zwracanych wartości można zastąpić tę funkcję i pracować z pvarargIn i pvarargOut parametry samodzielnie.

Wymagania

Nagłówek: afxole.h

Zobacz też

Informacje

Klasa COleServerDoc

Diagram hierarchii

Klasa COleCmdUI