IMAPIForm::SetViewContext

适用于:Outlook 2013 | Outlook 2016

为窗体建立视图上下文。

HRESULT SetViewContext(
  LPMAPIVIEWCONTEXT pViewContext
);

参数

pViewContext

[in]指向窗体的新视图上下文的指针。

返回值

S_OK

已成功设置视图上下文。

备注

表单查看者调用 IMAPIForm::SetViewContext 方法,将特定的表单视图上下文设置为当前。 一个窗体一次只能有一个视图上下文。

针对实现者的说明

大多数表单服务器使用以下算法实现 SetViewContext

  • 如果表单的视图上下文已存在,请通过调用 pmnvs 参数中为 nullIMAPIViewContext::SetAdviseSink 方法取消窗体的注册,然后调用视图上下文的 IUnknown::Release 方法来减少其引用计数。

  • 如果新视图上下文不为 null,请使用 pViewContext 参数调用 IMAPIViewContext::SetAdviseSink 以设置新的视图建议接收器。

  • 如果新视图上下文不为 null,请调用 IMAPIViewContext::GetViewStatus 方法来确定已设置的状态标志。

  • 如果新视图上下文不为 null,请存储它并调用其 IUnknown::AddRef 方法来递增其引用计数。

  • 更新依赖于视图上下文的任何用户界面元素。

根据 从 IMAPIViewContext::GetViewStatus 返回的状态标志, SetViewContext 还可以执行其他操作。 例如,如果返回VCSTATUS_NEXT和VCSTATUS_PREV标志, SetViewContext 可以为新视图上下文启用 “下一步 ”和“ 上一个 ”按钮。

MFCMAPI 引用

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

文件 函数 Comment
MAPIFormFunctions.cpp
CreateAndDisplayNewMailInFolder
MFCMAPI 使用 IMAPIForm::SetViewContext 方法在显示窗体之前在窗体上设置 MFCMAPI 的视图上下文。

另请参阅

IMAPIViewContext::GetViewStatus

IMAPIViewContext::SetAdviseSink

IMAPIForm : IUnknown

MFCMAPI 代码示例