IMAPIViewContext::ActivateNext
Hace referencia a: Outlook 2013 | Outlook 2016
Activa el mensaje siguiente o anterior en el orden de vista.
HRESULT ActivateNext(
ULONG ulDir,
LPCRECT prcPosRect
);
Parameters
ulDir
[in] Marcas de estado que dan información sobre el mensaje que se va a activar. La configuración de marca válida es la siguiente:
VCDIR_CATEGORY: el visor debe activar un mensaje en otra categoría de la vista. El mensaje que se va a activar es:
El primer mensaje de la siguiente categoría de vista si esta marca es ORcon VCDIR_NEXT.
El último mensaje de la categoría de vista anterior si esta marca es ORcon VCDIR_PREV y la categoría anterior se expande.
Primer mensaje de la categoría de vista anterior si esta marca es ORcon VCDIR_PREV y la categoría anterior no está expandida. En este caso, la categoría anterior se somete a una expansión automática.
VCDIR_DELETE: el visor debe activar el mensaje siguiente o anterior porque se ha eliminado el mensaje actual.
VCDIR_MOVE: el visor debe activar el mensaje siguiente o anterior porque se ha movido el mensaje actual.
VCDIR_NEXT: el visor debe activar el siguiente mensaje en el orden de vista.
VCDIR_PREV: el visor debe activar el mensaje anterior en el orden de vista.
VCDIR_UNREAD: el visor debe activar el mensaje no leído siguiente o anterior en el orden de vista.
prcPosRect
[in] Puntero a una estructura RECT de Windows que contiene el tamaño y la posición de la ventana que se va a usar para mostrar el mensaje activado.
Valor devuelto
S_OK
El mensaje se activó correctamente.
S_FALSE
El mensaje se activó correctamente, pero se abrió un tipo de formulario diferente en el proceso.
Comentarios
Los objetos Form llaman al método IMAPIViewContext::ActivateNext para cambiar el mensaje que se muestra al usuario. El valor pasado en el parámetro ulDir indica qué mensaje debe activarse y, en algunos casos, por qué. Las marcas VCDIR_NEXT y VCDIR_PREVIOUS corresponden a los usuarios que eligen el comando Siguiente o Anterior en una vista, respectivamente. Estas operaciones suelen corresponder a subir o bajar un mensaje en la lista de mensajes del visor de formularios.
Los métodos IMAPIMessageSite::D eleteMessage e IMAPIMessageSite::MoveMessage establecen las marcas VCDIR_DELETE y VCDIR_MOVE, respectivamente. Las implementaciones de estos métodos llaman a ActivateNext con la dirección adecuada y, a continuación, realizan la operación solicitada en el mensaje si no se produjo un error en la llamada ActivateNext . Los visores de formularios normalmente permiten a los usuarios especificar la dirección para moverse en la lista de mensajes.
Notas a los implementadores
La implementación de IMAPIViewContext::ActivateNext realiza el mensaje siguiente o anterior en la carpeta, en función del valor de ulDir, el mensaje actual. Una vez devuelto ActivateNext , llame a IMAPIMessageSite::GetMessage para obtener un puntero al mensaje recién activado.
Notas para los llamadores
Si ActivateNext devuelve S_FALSE, o si no hay un mensaje actual, realice el procedimiento de apagado normal, que debe incluir una llamada al método IMAPIForm::ShutdownForm del formulario. Si se muestra un mensaje siguiente o anterior, use el rectángulo de ventana pasado en el parámetro prcPosRect para mostrarlo.
Referencia de MFCMAPI
Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.
Archivo | Función | Comment |
---|---|---|
MyMAPIFormViewer.cpp |
CMyMAPIFormViewer::ActivateNext |
MFCMAPI implementa el método IMAPIViewContext::ActivateNext en esta función. |