Share via


IMAPIViewContext::GetViewStatus

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Retrieves the current viewer status.

HRESULT GetViewStatus(
ULONG FAR * lpulStatus
);

Parameters

  • lpulStatus
    [out] Pointer to a bitmask of flags providing the status of the viewer. The following flags can be set:

    • VCSTATUS_CATEGORY
      There is a next or previous message in another category.

    • VCSTATUS_DELETE
      The form allows messages to be removed.

    • VCSTATUS_INTERACTIVE
      The form should display a user interface. If this flag is not set, the form should suppress displaying a user interface even in response to a verb that usually causes a user interface to be displayed.

    • VCSTATUS_MODAL
      The form is modal to the viewer.

    • VCSTATUS_NEXT
      There is a next message in the view.

    • VCSTATUS_PREV
      There is a previous message in the view.

    • VCSTATUS_READONLY
      The message is to be opened in read-only mode. Delete, submit, and move operations should be disabled.

    • VCSTATUS_UNREAD
      There is a next or previous unread message in the view.

Return Value

  • S_OK
    The viewer's status was successfully returned.

Remarks

Form objects call the IMAPIViewContext::GetViewStatus method to determine whether there are more messages to be activated in a form view in either or both directions that is, in the direction in which a Next command activates messages, in the direction in which a Previous command activates messages, or in both directions. The value pointed to by the lpulStatus parameter is used to determine whether the VCSTATUS_NEXT and VCSTATUS_PREV flags are valid for IMAPIViewContext::ActivateNext. If the VCSTATUS_DELETE flag is set, but not the VCSTATUS_READONLY flag, then the message can be deleted using the IMAPIMessageSite::DeleteMessage method.

Typically, forms disable menu commands and buttons if they are not valid for the viewer's context. A viewer can alert a form to a change in status by calling its IMAPIFormAdviseSink::OnChange method.

The VCSTATUS_MODAL flag is set if the form must be modal to the window whose handle is passed in the earlier IMAPIForm::DoVerb call. If VCSTATUS_MODAL is set, the form can use the thread on which the DoVerb call was made until the form closes. If VCSTATUS_MODAL is not set, the form should not be modal to this window and must not use the thread.

MFCMAPI Reference

For MFCMAPI sample code, see the following table.

File

Function

Comment

MyMAPIFormViewer.cpp

CMyMAPIFormViewer::GetViewStatus

MFCMAPI implements the IMAPIViewContext::GetViewStatus method in this function.

See Also

Reference

IMAPIMessageSite::GetSiteStatus

IMAPIViewContext : IUnknown

Concepts

MFCMAPI as a Code Sample