COleServerDoc::OnExecOleCmd
A estrutura chama essa função para executar uma ajuda especificada de comando ou de exibição 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 grupo de comando padrão.nCmdID
O comando para executar. Deve estar no grupo identificado por pguidCmdGroup.nCmdExecOut
A maneira o objeto deve executar o comando, um ou mais dos seguintes valores de enumeração de OLECMDEXECOPT :OLECMDEXECOPT_DODEFAULT
OLECMDEXECOPT_PROMPTUSER
OLECMDEXECOPT_DONTPROMPTUSER
OLECMDEXECOPT_SHOWHELP
pvarargIn
Ponteiro para VARIANTARG que contém os argumentos de entrada para o comando. Pode ser NULO.pvarargOut
Ponteiro para VARIANTARG para receber os valores de retorno de saída do comando. Pode ser NULO.
Valor de retorno
Retorna se S_OK com êxito; caso contrário, um dos seguintes códigos de erro:
Valor |
Descrição |
---|---|
E_UNEXPECTED |
Erro inesperado ocorreu |
E_FAIL |
Erro ocorrido |
E_NOTIMPL |
Indica que o MFC próprio deve tentar converter e distribuir o comando |
OLECMDERR_E_UNKNOWNGROUP |
pguidCmdGroup éNULO não mas não especifica um grupo de comando reconhecido |
OLECMDERR_E_NOTSUPPORTED |
nCmdID não é reconhecido como um comando válido no grupo pguidCmdGroup |
OLECMDERR_DISABLED |
O comando identificado por nCmdID é desativado e não pode ser executado |
OLECMDERR_NOHELP |
O chamador solicitado a ajuda no comando identificado pela nCmdID mas não há ajuda está disponível |
OLECMDERR_CANCELED |
o usuário cancelou a execução |
Comentários
COleCmdUI pode ser usado para habilitar, atualizar, e definir outras propriedades de comandos de interface do usuário de DocObject. Depois que os comandos são inicializados, você pode executar com OnExecOleCmd.
A estrutura chama a função antes de tentar converter e distribuir um comando OLE do documento. Você não precisa substituir essa função para manipular comandos VELHOS padrão do documento, mas você deve fornecer uma substituição para essa função se você desejar manipular seus próprios comandos personalizados ou comandos de gerenciamento que aceite parâmetros ou resultados.
A maioria dos comandos não leva argumentos ou valores de retorno. Para a maioria dos comandos o chamador pode passar NULOs para pvarargIn e pvarargOut. Para os comandos que esperam entre valores, o chamador pode declarar e inicializar uma variável de VARIANTARG e passar um ponteiro à variável em pvarargIn. Para os comandos que requerem um único valor, o argumento pode ser armazenado diretamente em VARIANTARG e ser passado para a função. Múltiplos argumentos devem ser fornecido em VARIANTARG usando um dos tipos suportados (como IDispatch e SAFEARRAY ).
De a mesma forma, se um comando retorna argumentos o chamador é esperado declarar VARIANTARG, inicializa-o a VT_EMPTY, e passe seu endereço em pvarargOut. Se um comando retorna um único valor, o objeto pode armazenar esse valor diretamente em pvarargOut. Os vários valores de saída devem ser de alguma forma apropriadas de pacote para VARIANTARG.
A implementação da classe base de essa função examinará as estruturas de OLE_COMMAND_MAP associadas ao destino e a tentativa de comando para distribuir o comando a um manipulador adequado. A implementação da classe base funciona somente com comandos que não aceitam argumentos ou valores de retorno. Se você precisar manipular os comandos que aceitam argumentos ou valores de retorno, você deve substituir esses função e trabalho com os parâmetros de pvarargIn e de pvarargOut você mesmo.
Requisitos
Cabeçalho: afxole.h