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