HRESULT OnExecOleCmd ( const GUID * pGroup, DWORD nCmdID, DWORD nCmdExecOut, VARIANTARG * pvaIn, VARIANTARG * pvaOut );
Valore restituito
Restituisce S_OK in caso di successo; in caso contrario, uno dei seguenti codici di errore:
| Valore | Descrizione |
| E_UNEXPECTED | Errore imprevisto |
| E_FAIL | Errore |
| E_NOTIMPL | Indica MFC stessa dovrebbe tentare di tradurre e il comando della spedizione |
| OLECMDERR_E_UNKNOWNGROUP | pGroup is non -NULL ma non specifica un gruppo di comando riconosciuto |
| OLECMDERR_E_NOTSUPPORTED | nCmdID non è riconosciuto come un comando valido nel gruppo pGroup |
| OLECMDERR_DISABLED | Il comando identificato dal nCmdID è disabilitato e non può essere eseguito |
| OLECMDERR_NOHELP | Chiamante ha chiesto aiuto sul comando identificato da nCmdID ma nessun aiuto è disponibile |
| OLECMDERR_CANCELED | Utente ha annullato l'esecuzione |
Parametri
pGroup
Puntatore a un GUID che identifica un insieme di comandi. Può essere NULL per indicare il gruppo di comando predefinito.
nCmdID
Il comando da eseguire. Deve essere nel gruppo identificato da pGroup.
nCmdExecOut
Il modo in cui l'oggetto dovrebbe eseguire il comando, uno o più dei seguenti valori dell'enumerazione OLECMDEXECOPT:
OLECMDEXECOPT_DODEFAULT
OLECMDEXECOPT_PROMPTUSER
OLECMDEXECOPT_DONTPROMPTUSER
OLECMDEXECOPT_SHOWHELP
pvaIn
Puntatore a un VARIANTARG che contiene argomenti di input per il comando. Può essere NULL.
pvaOut
Puntatore a un VARIANTARG per ricevere l'output i valori restituiti dal comando. Può essere NULL.
Osservazioni
Il framework chiama questa funzione per eseguire un comando specificato o visualizzare la guida relativa al comando.
COleCmdUI può essere utilizzato per attivare, aggiornare e impostare altre proprietà di comandi di interfaccia utente DocObject. Dopo i comandi vengono inizializzati, si possono eseguire con OnExecOleCmd.
Il framework chiama la funzione prima di tentare di tradurre e spedire un comando di documento OLE. Non è necessario eseguire l'override di questa funzione per gestire i comandi di documento standard OLE, ma è necessario fornire un override a questa funzione se si desidera gestire i proprio comandi personalizzati o gestire i comandi che accettano parametri o restituiscono risultati.
La maggior parte dei comandi non accetta argomenti o valori restituiti. Per la maggior parte dei comandi il chiamante può passare NULLs per pvaIn e pvaOut. Per i comandi che si aspettano i valori di input, il chiamante può dichiarare e inizializzare una variabile VARIANTARG e passare un puntatore alla variabile in pvaIn. Per i comandi che richiedono un valore singolo, l'argomento può essere memorizzato direttamente nella VARIANTARG e passata alla funzione. Più argomenti devono essere confezionati all'interno di VARIANTARG utilizzando uno dei tipi supportati (ad esempio IDispatch e SAFEARRAY ).
Allo stesso modo, se un comando restituisce gli argomenti il chiamante dovrebbe dichiarare un VARIANTARG, inizializzarla su VT_EMPTYe passare l'indirizzo pvaOut. Se un comando restituisce un singolo valore, l'oggetto può memorizzare tale valore direttamente in pvaOut. I valori di output multipli devono essere confezionati in qualche modo appropriato per il VARIANTARG.
L'implementazione della classe base di questa funzione sarà a piedi le strutture OLE_COMMAND_MAP associate con la destinazione del comando e provare a inviare il comando a un gestore appropriato. L'implementazione della classe base funziona solo con i comandi che non accetta argomenti o valori restituiti. Se avete bisogno gestire i comandi che accettano argomenti o restituiscono valori, è necessario eseguire l'override di questa funzione e lavorare con i parametri pvaIn e pvaOut te stesso.
Pa&noramica COleServerDoc |nbsp; Membri della classe | Gerarchia Chart
Vedere a&nchenbsp;COleCmdUI