IMAPIFormAdviseSink::OnChange

适用于:Outlook 2013 | Outlook 2016

指示表单查看器的状态发生了更改。

HRESULT OnChange(
  ULONG ulDir
);

参数

ulDir

[in]标志的位掩码,提供有关查看器中发生的更改和表单中预期响应的信息。 可以设置以下标志:

VCSTATUS_CATEGORY

另一个类别中有下一封或上一封邮件。

VCSTATUS_INTERACTIVE

窗体应显示用户界面。 如果未设置此标志,则窗体应禁止显示用户界面,即使在响应通常会导致显示用户界面的谓词时也是如此。

VCSTATUS_MODAL

窗体与表单查看器是模式的。

VCSTATUS_NEXT

表单查看器中有下一条消息。

VCSTATUS_PREV

表单查看器中有上一条消息。

VCSTATUS_READONLY

应禁用删除、提交和移动操作。

VCSTATUS_UNREAD

表单查看器中有下一封或上一封未读邮件。

返回值

S_OK

通知成功。

备注

表单查看者调用 IMAPIFormAdviseSink::OnChange 方法,以通知表单查看者状态的更改。 通常,唯一的更改是基于查看器中是否存在下一封或上一封邮件来设置或清除VCSTATUS_NEXT或VCSTATUS_PREVIOUS标志。 因此,表单对象随后启用或禁用它支持的任何下一个或上一个操作。

VCSTATUS_MODAL和VCSTATUS_INTERACTIVE的设置在创建后无法在视图上下文中更改。

针对实现者的说明

此方法的具体实现完全取决于表单的具体细节。 大多数窗体对象使用此方法更改其用户界面 (例如启用或禁用菜单命令或按钮以匹配查看器状态标志参数) 。

另请参阅

IMAPIViewContext::ActivateNext

IMAPIFormAdviseSink : IUnknown