IMAPIForm::DoVerb
Aplica-se a: Outlook 2013 | Outlook 2016
Solicita que o formulário execute todas as tarefas associadas a um verbo específico.
HRESULT DoVerb(
LONG iVerb,
LPMAPIVIEWCONTEXT lpViewContext,
ULONG_PTR hwndParent,
LPCRECT lprcPosRect
);
Parâmetros
Iverb
[in] O número associado a um dos verbos do formulário.
lpViewContext
[in] Um ponteiro para um objeto de contexto de exibição. O parâmetro lpViewContext pode ser nulo.
Hwndparent
[in] Um identificador para a janela pai de qualquer caixa de diálogo ou janelas que este método exibe. O parâmetro hwndParent deve ser nulo se a caixa de diálogo ou janela não for modal.
lprcPosRect
[in] Um ponteiro para uma estrutura de RECT do Win32 que contém o tamanho e a posição da janela do formulário.
Valor de retorno
S_OK
O verbo foi invocado com êxito.
OLEOBJ_S_CANNOT_DOVERB_NOW
O verbo representado pelo parâmetro iVerb é válido, mas o formulário não pode executar as operações atualmente associadas a ele.
Comentários
Os visualizadores de formulário chamam o método IMAPIForm::D oVerb para solicitar que o formulário execute as tarefas que ele associa a cada verbo compatível com o formulário.
Cada um dos verbos com suporte é identificado por um valor numérico, passado para DoVerb no parâmetro iVerb . Implementações típicas do DoVerb contêm uma instrução de comutador que testa os valores válidos para o parâmetro iVerb para o formulário.
Observações para implementadores
Se o visualizador de formulário especificar um contexto de exibição no parâmetro lpViewContext , use-o na implementação do DoVerb em vez do contexto de exibição passado em uma chamada anterior para o método IMAPIForm::SetViewContext . Faça as alterações necessárias às estruturas de dados internas e não salve o contexto de exibição.
Execute as seguintes tarefas na implementação do DoVerb :
Execute qualquer código necessário para o verbo específico associado ao parâmetro iVerb .
Se necessário, restaure o contexto de exibição original.
Se um número de verbo desconhecido foi passado, retorne MAPI_E_NO_SUPPORT. Caso contrário, retorne um resultado com base no sucesso ou falha de qualquer verbo executado.
Feche o formulário. É sempre sua responsabilidade fechar o formulário após a conclusão de uma chamada do DoVerb .
Alguns verbos, como Print, devem ser modais em relação à chamada DoVerb – ou seja, a operação indicada deve ser concluída antes que a chamada DoVerb retorne.
Para obter a estrutura RECT usada pela janela de um formulário, chame a função GetWindowRect .
Não salve o identificador no parâmetro hwndParent porque, embora ele geralmente permaneça válido até a conclusão do DoVerb, ele pode ser destruído imediatamente após o retorno da chamada.
Notas para chamadores
Você pode fazer com que verbos não modais atuem como verbos modais apontando lpViewContext para uma implementação de contexto de exibição que retorna o sinalizador VCSTATUS_MODAL de seu método IMAPIViewContext::GetViewStatus .
Para obter mais informações sobre verbos no MAPI, consulte Verbos de Formulário. Para obter mais informações sobre como os verbos são tratados no OLE, consulte OLE e Transferência de Dados.
Referência do MFCMAPI
Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.
Arquivo | Função | Comentário |
---|---|---|
MyMAPIFormViewer.cpp |
CMyMAPIFormViewer::CallDoVerb |
O MFCMAPI usa o método IMAPIForm::D oVerb para invocar um verbo em um formulário. |
Confira também
IMAPIViewContext::GetViewStatus