IMAPIViewContext::ActivateNext

适用于:Outlook 2013 | Outlook 2016

激活查看顺序中的下一封或上一条消息。

HRESULT ActivateNext(
ULONG ulDir,
LPCRECT prcPosRect
);

参数

ulDir

[in]状态标志提供有关要激活的消息的信息。 有效的标志设置包括:

  • VCDIR_CATEGORY:查看者应激活视图的另一个类别中的消息。 要激活的消息是:

    • 如果此标志为 ored 且VCDIR_NEXT,则下一视图类别中的第一条消息。

    • 如果此标志是 带有VCDIR_PREV且上一个类别展开的,则为上一视图类别中的最后一条消息。

    • 如果此标志是 带有VCDIR_PREV且上一个类别未展开,则为上一视图类别中的第一条消息。 在这种情况下,上一个类别会自动扩展。

  • VCDIR_DELETE:查看者应激活下一封或上一封邮件,因为当前邮件已被删除。

  • VCDIR_MOVE:查看器应激活下一封或上一封邮件,因为当前邮件已移动。

  • VCDIR_NEXT:查看者应激活查看顺序中的下一条消息。

  • VCDIR_PREV:查看者应激活查看顺序中的上一条消息。

  • VCDIR_UNREAD:查看者应激活查看顺序中的下一条或上一封未读消息。

prcPosRect

[in]指向 Windows RECT 结构的指针,该结构包含要用于显示已激活消息的窗口的大小和位置。

返回值

S_OK

消息已成功激活。

S_FALSE

邮件已成功激活,但在此过程中打开了不同类型的表单。

备注

表单对象调用 IMAPIViewContext::ActivateNext 方法以更改向用户显示的消息。 在 ulDir 参数中传递的值指示应激活的消息以及在某些情况下的原因。 VCDIR_NEXT和VCDIR_PREVIOUS标志分别对应于在视图中选择 “下一个 ”或“ 上一个” 命令的用户。 这些操作通常对应于在表单查看器的邮件列表中向上或向下移动一条消息。

VCDIR_DELETE和VCDIR_MOVE标志分别由 IMAPIMessageSite::D eleteMessageIMAPIMessageSite::MoveMessage 方法设置。 这些方法的实现使用适当的方向调用 ActivateNext ,然后在 ActivateNext 调用未失败时对消息执行请求的操作。 表单查看器通常使用户能够在邮件列表中指定移动方向。

针对实现者的说明

IMAPIViewContext::ActivateNext 的实现使文件夹中的下一封或上一封邮件,具体取决于当前邮件 ulDir 的值。 ActivateNext 返回后,调用 IMAPIMessageSite::GetMessage 以获取指向新激活的消息的指针。

给调用方的说明

如果 ActivateNext 返回S_FALSE,或者当前消息不存在,请执行正常的关闭过程,其中应包括调用表单的 IMAPIForm::ShutdownForm 方法。 如果显示下一条消息或上一条消息,请使用 在 prcPosRect 参数中传递的窗口矩形来显示它。

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 Comment
MyMAPIFormViewer.cpp
CMyMAPIFormViewer::ActivateNext
MFCMAPI 在此函数中实现 IMAPIViewContext::ActivateNext 方法。

另请参阅