COleServerDoc::OnExecOleCmd

A estrutura chama esta função para executar um comando especificado ou exibir a Ajuda para o comando.

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

Parâmetros

  • pguidCmdGroup
    Um ponteiro para um GUID que identifica um conjunto de comandos.Pode ser NULO para indicar o agrupar padrão do comando.

  • nCmdID
    O comando a ser executado.Deve estar no agrupar identificado por pguidCmdGroup.

  • nCmdExecOut
    A maneira como o objeto deve executar o comando, um ou mais dos seguintes valores do OLECMDEXECOPT enumeração:

  •    OLECMDEXECOPT_DODEFAULT

  •    OLECMDEXECOPT_PROMPTUSER

  •    OLECMDEXECOPT_DONTPROMPTUSER

  •    OLECMDEXECOPT_SHOWHELP

  • pvarargIn
    Ponteiro para um VARIANTARG que contém argumentos de entrada para o comando.Pode ser NULO.

  • pvarargOut
    Ponteiro para um VARIANTARG para receber a saída retornar valores do comando.Pode ser NULO.

Valor de retorno

RetornaS_OK Se bem-sucedida; caso contrário, um dos seguintes códigos de erro:

Valor

Descrição

E_UNEXPECTED

Erro inesperado

E_FAIL

Ocorreu um erro

E_NOTIMPL

Indica a MFC propriamente dito deve tentar traduzir e envie o comando

OLECMDERR_E_UNKNOWNGROUP

pguidCmdGroup é não-NULO, mas não especifica um comando reconhecido agrupar

OLECMDERR_E_NOTSUPPORTED

nCmdID não é reconhecido sistema autônomo um comando válido no agrupar pguidCmdGroup

OLECMDERR_DISABLED

O comando identificado por nCmdID está desabilitado e não pode ser executado

OLECMDERR_NOHELP

Chamador freqüentes para obter ajuda sobre o comando identificado por nCmdID mas nenhuma Ajuda está disponível

OLECMDERR_CANCELED

O usuário cancelou a execução

Comentários

COleCmdUI pode ser usado para ativar, atualizar e conjunto outras propriedades de DocObject comandos da interface do usuário. Depois dos comandos são inicializados, você pode executá-los com OnExecOleCmd.

A estrutura chama a função antes de tentar converter e enviar um comando de documento OLE.Não é necessário substituir esta função para lidar com os comandos padrão de documento OLE, mas você deve fornecer uma substituição para esta função para lidar com seus próprios comandos personalizados ou lidar com os comandos que aceitam parâmetros ou retornaram os resultados.

A maioria dos comandos não obtém argumentos ou retornar valores.Para a maioria dos comandos o chamador pode passar NULOs for pvarargIn e pvarargOut. Para comandos que esperam valores de entrada, o chamador pode declarar e inicializar um VARIANTARG variável e passar um ponteiro para a variável no pvarargIn. De comandos que exigem um único valor, o argumento pode ser armazenado diretamente no VARIANTARG e passado para a função.Vários argumentos devem ser empacotados dentro de VARIANTARG usando um dos tipos suportados (por exemplo, IDispatch e SAFEARRAY ).

Da mesma forma, se um comando retorna argumentos o chamador deve declarar um VARIANTARG, inicializá-lo para VT_EMPTYe passar seu endereço em pvarargOut. Se um comando retornar um único valor, o objeto pode armazenar esse valor diretamente em pvarargOut. Vários valores de saída devem ser empacotados de alguma forma apropriada para o VARIANTARG.

A implementação da classe de base dessa função vai orientá-lo a OLE_COMMAND_MAP estruturas associadas ao seu destino e tentam despachar o comando para um manipulador apropriado.A implementação da classe base funciona somente com comandos que não aceita argumentos ou retornar valores.Se você precisar manipular comandos aceitar argumentos ou retornar valores, você deve substituir essa função e trabalhar com o pvarargIn e pvarargOut parâmetros de si mesmo.

Requisitos

Cabeçalho: afxole.h

Consulte também

Referência

Classe COleServerDoc

Gráfico de hierarquia

Classe COleCmdUI

Outros recursos

COleServerDoc membros