IMAPIViewContext::ActivateNext
Aplica-se a: Outlook 2013 | Outlook 2016
Ativa a próxima ou anterior mensagem na ordem de exibição.
HRESULT ActivateNext(
ULONG ulDir,
LPCRECT prcPosRect
);
Parâmetros
ulDir
[in] Sinalizadores de status que dão informações sobre a mensagem a ser ativada. As configurações de sinalizador válidas são:
VCDIR_CATEGORY: o visualizador deve ativar uma mensagem em outra categoria do modo de exibição. A mensagem a ser ativada é:
A primeira mensagem na próxima categoria de exibição se esse sinalizador for orcom VCDIR_NEXT.
A última mensagem na categoria de exibição anterior se esse sinalizador for orcom VCDIR_PREV e a categoria anterior for expandida.
A primeira mensagem na categoria de exibição anterior se esse sinalizador for orcom VCDIR_PREV e a categoria anterior não for expandida. Nesse caso, a categoria anterior passa por expansão automática.
VCDIR_DELETE: o visualizador deve ativar a próxima ou anterior mensagem porque a mensagem atual foi excluída.
VCDIR_MOVE: o visualizador deve ativar a próxima ou anterior mensagem porque a mensagem atual foi movida.
VCDIR_NEXT: o visualizador deve ativar a próxima mensagem na ordem de exibição.
VCDIR_PREV: o visualizador deve ativar a mensagem anterior na ordem de exibição.
VCDIR_UNREAD: o visualizador deve ativar a próxima ou anterior mensagem não lida na ordem de exibição.
prcPosRect
[in] Ponteiro para uma estrutura RECT do Windows que contém o tamanho e a posição da janela a ser usada para exibir a mensagem ativada.
Valor de retorno
S_OK
A mensagem foi ativada com êxito.
S_FALSE
A mensagem foi ativada com êxito, mas um tipo diferente de formulário foi aberto no processo.
Comentários
Objetos de formulário chamam o método IMAPIViewContext::ActivateNext para alterar qual mensagem é exibida para o usuário. O valor passado no parâmetro ulDir indica qual mensagem deve ser ativada e, em alguns casos, por quê. Os sinalizadores VCDIR_NEXT e VCDIR_PREVIOUS correspondem aos usuários que escolhem o comando Avançar ou Anterior em um modo de exibição, respectivamente. Essas operações geralmente correspondem a mover uma mensagem para cima ou para baixo na lista de mensagens do visualizador de formulários.
Os sinalizadores VCDIR_DELETE e VCDIR_MOVE são definidos pelos métodos IMAPIMessageSite::D eleteMessage e IMAPIMessageSite::MoveMessage , respectivamente. As implementações desses métodos chamam ActivateNext com a direção apropriada e, em seguida, executam a operação solicitada na mensagem se a chamada ActivateNext não falhar. Os visualizadores de formulário normalmente permitem que os usuários especifiquem a direção a ser movida na lista de mensagens.
Observações para implementadores
Sua implementação do IMAPIViewContext::ActivateNext faz a próxima ou anterior mensagem na pasta, dependendo do valor de ulDir, a mensagem atual. Depois que ActivateNext retornar, chame IMAPIMessageSite::GetMessage para obter um ponteiro para a mensagem recém-ativada.
Notas para chamadores
Se ActivateNext retornar S_FALSE ou se uma mensagem atual não estiver presente, execute o procedimento de desligamento normal, que deve incluir chamar o método IMAPIForm::ShutdownForm do formulário. Se uma mensagem próxima ou anterior for exibida, use o retângulo da janela passado no parâmetro prcPosRect para exibi-la.
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::ActivateNext |
O MFCMAPI implementa o método IMAPIViewContext::ActivateNext nesta função. |