COleServerDoc::OnExecOleCmd

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

Index