COleServerDoc::OnExecOleCmd

HRESULT OnExecOleCmd ( const GUID * pGroup, DWORD nCmdID, DWORD nCmdExecOut, VARIANTARG * pvaIn, VARIANTARG * pvaOut );

Valeur de retour

Retourne S_OK en cas de succès ; sinon, un des codes d'erreur suivants:

Valeur Description
E_UNEXPECTED Une erreur inattendue s'est produite
E_FAIL Erreur s'est produite
E_NOTIMPL Indique les MFC elle-même doit tenter de traduire et d'envoi de la commande
OLECMDERR_E_UNKNOWNGROUP pGroup est non -NULL mais ne pas spécifier un groupe de commande reconnue
OLECMDERR_E_NOTSUPPORTED nCmdID n'est pas reconnu comme une commande valide dans le groupe pGroup
OLECMDERR_DISABLED La commande identifiée par nCmdID est désactivée et ne peut pas être exécutée
OLECMDERR_NOHELP Appelant a demandé de l'aide sur la commande identifiée par nCmdID mais aucune aide n'est disponible
OLECMDERR_CANCELED Utilisateur a annulé l'exécution

Paramètres

pGroup

Pointeur vers un GUID qui identifie un ensemble de commandes. Peut être NULL pour indiquer le groupe de commande par défaut.

nCmdID

La commande à exécuter. Doit être dans le groupe identifié par pGroup.

nCmdExecOut

La façon dont l'objet doit exécuter la commande, d'un ou de plusieurs des valeurs suivantes de l'énumération OLECMDEXECOPT:

OLECMDEXECOPT_DODEFAULT

OLECMDEXECOPT_PROMPTUSER

OLECMDEXECOPT_DONTPROMPTUSER

OLECMDEXECOPT_SHOWHELP

pvaIn

Pointeur vers un VARIANTARG contenant des arguments d'entrée de la commande. Peut être NULL.

pvaOut

Pointeur vers un VARIANTARG pour recevoir la sortie des valeurs de retour de la commande. Peut être NULL.

Remarques

L'infrastructure appelle cette fonction pour exécuter une commande spécifiée ou afficher l'aide de la commande.

COleCmdUI peut servir à activer, mise à jour et définir d'autres propriétés de commandes de l'interface utilisateur DocObject. Une fois les commandes sont initialisés, vous pouvez les exécuter avec OnExecOleCmd.

L'infrastructure appelle la fonction avant d'essayer de traduire et d'envoyer une commande de document OLE. Vous ne devez substituer à cette fonction pour gérer les commandes de document OLE standard, mais vous devez fournir un remplacement pour cette fonction si vous souhaitez gérer votre propre des commandes personnalisées ou de gérer les commandes qui acceptent des paramètres ou de retournent des résultats.

La plupart des commandes ne pas prendre les arguments ou valeurs de retour. Pour la majorité des commandes de l'appelant peut passer NULLs pour pvaIn et pvaOut. Pour les commandes auxquelles s'attendent les valeurs d'entrée, l'appelant peut déclarer et initialiser une variable VARIANTARG et passer un pointeur à la variable pvaIn. Pour les commandes qui exigent une seule valeur, l'argument peut être stocké directement dans la VARIANTARG et transmis à la fonction. Plusieurs arguments doivent être emballés dans le VARIANTARG à l'aide d'un des types pris en charge (tels que IDispatch et SAFEARRAY ).

De même, si une commande retourne les arguments l'appelant devrait déclarer une VARIANTARG, initialiser à VT_EMPTY, et passer son adresse pvaOut. Si une commande retourne une valeur unique, l'objet peut stocker cette valeur directement dans la pvaOut. Plusieurs valeurs de sortie doivent être emballés de façon appropriée pour la VARIANTARG.

L'implémentation de classe de base de cette fonction sera les OLE_COMMAND_MAP des structures associées à la cible de la commande de marche et essayez d'envoyer la commande à un gestionnaire d'événements approprié. La mise en œuvre de la classe de base fonctionne uniquement avec les commandes qui ne pas accepter les arguments ou valeurs de retour. Si vous avez besoin gérer les commandes qui acceptent des arguments ou valeurs de retour, vous devez substituer cette fonction et travailler avec les paramètres pvaIn et pvaOut , vous.

|&Nbsp Aperçu de COleServerDoc ; Membres de la classe | Graphique de la hiérarchie

Voir aussi  ;COleCmdUI

Index