Compartir a través de


COleServerDoc::OnExecOleCmd

El marco de trabajo llama a esta función para ejecutar una ayuda especificada del comando o de presentación para el comando.

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

Parámetros

  • pguidCmdGroup
    Un puntero a un GUID que identifica un conjunto de comandos. Puede ser NULL para indicar al grupo de comandos predeterminado.

  • nCmdID
    Comando que se va a ejecutar. debe estar en el grupo identificado por pguidCmdGroup.

  • nCmdExecOut
    La forma el objeto debe ejecutar el comando, uno o más de los siguientes valores de enumeración de OLECMDEXECOPT :

  •    OLECMDEXECOPT_DODEFAULT

  •    OLECMDEXECOPT_PROMPTUSER

  •    OLECMDEXECOPT_DONTPROMPTUSER

  •    OLECMDEXECOPT_SHOWHELP

  • pvarargIn
    Puntero a VARIANTARG que contiene los argumentos de entrada para el comando. puede ser NULL.

  • pvarargOut
    Puntero a VARIANTARG para recibir los valores devueltos del resultado del comando. puede ser NULL.

Valor devuelto

devuelve S_OK si correctamente; si no, uno de los códigos de error siguientes:

Valor

Descripción

E_UNEXPECTED

error inesperado producido

E_FAIL

Error

E_NOTIMPL

Indica que MFC debería intentar traducir y enviar el comando

OLECMDERR_E_UNKNOWNGROUP

pguidCmdGroup no es null pero no especifica un grupo de comandos reconocido

OLECMDERR_E_NOTSUPPORTED

nCmdID no se reconoce como un comando válido en el grupo pguidCmdGroup

OLECMDERR_DISABLED

Está deshabilitado y no se puede ejecutar el comando identificado por nCmdID

OLECMDERR_NOHELP

El llamador le ayuda sobre el comando identificado por nCmdID pero ninguna ayuda está disponible

OLECMDERR_CANCELED

el usuario canceló la ejecución

Comentarios

COleCmdUI se puede utilizar para habilitar, actualizar, y establecer otras propiedades de los comandos de la interfaz de usuario de DocObject. Después de que se inicializan los comandos, puede ejecutar con OnExecOleCmd.

El marco de trabajo llama a la función antes de intentar traducir y enviar un comando OLE del documento. No necesita reemplazar esta función para controlar los comandos de OLE estándar del documento, pero debe proporcionar un reemplazo a esta función si desea administrar para sus propios comandos personalizados o para controlar los comandos que aceptan parámetros o resultados devueltos.

La mayoría de los comandos no aceptan argumentos o valores devueltos. Para la mayoría de comandos el llamador puede pasar s para NULLpara pvarargIn y pvarargOut. Para los comandos que esperan valores de entrada, el llamador puede declarar e inicializar una variable de VARIANTARG y pasar un puntero a la variable en pvarargIn. Para los comandos que requieren un valor único, el argumento se puede almacenar directamente en VARIANTARG y pasar a la función. Varios argumentos deben empaquetar dentro de VARIANTARG utilizando uno de los tipos admitidos (como IDispatch y SAFEARRAY ).

De igual forma, si un comando devuelve argumentos el llamador es esperado declarar VARIANTARG, inicializarla a VT_EMPTY, y pasar su dirección en pvarargOut. Si un comando devuelve un valor único, el objeto puede almacenar ese valor en pvarargOut. Los valores de salida varios deben ser de alguna manera adecuados empaquetado para VARIANTARG.

La implementación de la clase base de esta función recorrerá estructuras de OLE_COMMAND_MAP asociado con el destino y el intento de comandos para enviar el comando un controlador adecuado. La implementación de la clase base sólo funciona con los comandos que no aceptan argumentos o valores devueltos. Si necesita controlar los comandos que aceptan argumentos o valores devueltos, debe invalidar esta función y trabajar con los parámetros de pvarargIn y de pvarargOut personalmente.

Requisitos

encabezado: afxole.h

Vea también

Referencia

COleServerDoc Class

Gráfico de jerarquías

COleCmdUI Class