IMAPIForm::SetViewContext

Applies to: Outlook 2013 | Outlook 2016

Establishes a view context for the form.

HRESULT SetViewContext(
  LPMAPIVIEWCONTEXT pViewContext
);

Parameters

pViewContext

[in] A pointer to the new view context for the form.

Return value

S_OK

The view context was successfully set.

Remarks

Form viewers call the IMAPIForm::SetViewContext method to establish a particular form view context as current. A form can have only one view context at a time.

Notes to implementers

Most form servers implement SetViewContext by using the following algorithm:

  • If a view context already exists for the form, cancel the form's registration by calling the IMAPIViewContext::SetAdviseSink method with null in the pmnvs parameter, and then call the view context's IUnknown::Release method to decrement its reference count.

  • If the new view context is not null, call IMAPIViewContext::SetAdviseSink by using the pViewContext parameter to set up a new view advise sink.

  • If the new view context is not null, call the IMAPIViewContext::GetViewStatus method to determine which status flags have been set.

  • If the new view context is not null, store it and call its IUnknown::AddRef method to increment its reference count.

  • Update any user interface elements that depend on the view context.

Depending on the status flags returned from IMAPIViewContext::GetViewStatus, SetViewContext can also perform other actions. For example, if the VCSTATUS_NEXT and VCSTATUS_PREV flags are returned, SetViewContext can enable the Next and Previous buttons for the new view context.

MFCMAPI reference

For MFCMAPI sample code, see the following table.

File Function Comment
MAPIFormFunctions.cpp
CreateAndDisplayNewMailInFolder
MFCMAPI uses the IMAPIForm::SetViewContext method to set MFCMAPI's view context on the form before the form is displayed.

See also

IMAPIViewContext::GetViewStatus

IMAPIViewContext::SetAdviseSink

IMAPIForm : IUnknown

MFCMAPI as a Code Sample