Поделиться через


IMAPIViewContext::ActivateNext

Область применения: Outlook 2013 | Outlook 2016

Активирует следующее или предыдущее сообщение в порядке представления.

HRESULT ActivateNext(
ULONG ulDir,
LPCRECT prcPosRect
);

Параметры

ulDir

[в] Флаги состояния, предоставляющие сведения о сообщении для активации. Допустимые параметры флага:

  • VCDIR_CATEGORY. Средство просмотра должно активировать сообщение в другой категории представления. Активируемое сообщение:

    • Первое сообщение в следующей категории представления, если этот флаг имеет значение ORed с VCDIR_NEXT.

    • Последнее сообщение в предыдущей категории представления, если этот флаг имеет значение ORed с VCDIR_PREV, а предыдущая категория развернута.

    • Первое сообщение в предыдущей категории представления, если этот флаг имеет значение ORed с VCDIR_PREV и предыдущая категория не развернута. В этом случае предыдущая категория подвергается автоматическому расширению.

  • VCDIR_DELETE. Средство просмотра должно активировать следующее или предыдущее сообщение, так как текущее сообщение было удалено.

  • VCDIR_MOVE. Средство просмотра должно активировать следующее или предыдущее сообщение, так как текущее сообщение было перемещено.

  • VCDIR_NEXT. Средство просмотра должно активировать следующее сообщение в порядке представления.

  • VCDIR_PREV. Средство просмотра должно активировать предыдущее сообщение в порядке представления.

  • VCDIR_UNREAD. Средство просмотра должно активировать следующее или предыдущее непрочитанное сообщение в порядке представления.

prcPosRect

[в] Указатель на структуру WINDOWS RECT , содержащую размер и положение окна, используемого для отображения активированного сообщения.

Возвращаемое значение

S_OK

Сообщение успешно активировано.

S_FALSE

Сообщение было успешно активировано, но в процессе была открыта форма другого типа.

Замечания

Объекты формы вызывают метод IMAPIViewContext::ActivateNext, чтобы изменить, какое сообщение отображается пользователю. Значение, переданное в параметре ulDir , указывает, какое сообщение должно быть активировано, а в некоторых случаях — почему. Флаги VCDIR_NEXT и VCDIR_PREVIOUS соответствуют пользователям, которые выбирают в представлении команду Далее или Предыдущая соответственно. Эти операции обычно соответствуют переходу вверх или вниз по одному сообщению в списке сообщений средства просмотра формы.

Флаги VCDIR_DELETE и VCDIR_MOVE задаются методами IMAPIMessageSite::D eleteMessage и IMAPIMessageSite::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 в этой функции.

См. также