IMAPIViewContext::ActivateNext
適用対象: Outlook 2013 | Outlook 2016
ビューの順序で次または前のメッセージをアクティブにします。
HRESULT ActivateNext(
ULONG ulDir,
LPCRECT prcPosRect
);
パラメーター
ulDir
[in]アクティブ化するメッセージに関する情報を提供する状態フラグ。 有効なフラグ設定は次のとおりです。
VCDIR_CATEGORY: ビューアーは、ビューの別のカテゴリでメッセージをアクティブにする必要があります。 アクティブ化するメッセージは次のとおりです。
このフラグが or ed でVCDIR_NEXTされている 場合は、次のビュー カテゴリの最初のメッセージ。
このフラグが or でVCDIR_PREVされ、前の カテゴリが展開されている場合、前のビュー カテゴリの最後のメッセージ。
このフラグが or でVCDIR_PREVされ、前のカテゴリが展開されていない場合、前のビュー カテゴリの最初のメッセージ。 この場合、前のカテゴリは自動拡張されます。
VCDIR_DELETE: 現在のメッセージが削除されているため、ビューアーは次または前のメッセージをアクティブにする必要があります。
VCDIR_MOVE: 現在のメッセージが移動されたため、ビューアーは次または前のメッセージをアクティブにする必要があります。
VCDIR_NEXT: ビューアーは、ビューの順序で次のメッセージをアクティブにする必要があります。
VCDIR_PREV: ビューアーは、ビューの順序で前のメッセージをアクティブにする必要があります。
VCDIR_UNREAD: ビューアーは、ビューの順序で次または前の未読メッセージをアクティブにする必要があります。
prcPosRect
[in]アクティブ化されたメッセージを表示するために使用するウィンドウのサイズと位置を含む Windows RECT 構造体へのポインター。
戻り値
S_OK
メッセージが正常にアクティブ化されました。
S_false
メッセージは正常にアクティブ化されましたが、プロセスで別の種類のフォームが開かれました。
注釈
フォーム オブジェクトは IMAPIViewContext::ActivateNext メソッドを呼び出して、ユーザーに表示されるメッセージを変更します。 ulDir パラメーターに渡される値は、アクティブ化するメッセージと、場合によっては理由を示します。 VCDIR_NEXTフラグとVCDIR_PREVIOUS フラグは、ビューで [次へ ] または [ 前へ ] コマンドを選択したユーザーにそれぞれ対応します。 通常、これらの操作は、フォーム ビューアーのメッセージの一覧で 1 つのメッセージを上下に移動する操作に対応します。
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 のサンプル コードについては、次の表を参照してください。
ファイル | 関数 | コメント |
---|---|---|
MyMAPIFormViewer.cpp |
CMyMAPIFormViewer::ActivateNext |
MFCMAPI は、この関数に IMAPIViewContext::ActivateNext メソッドを実装します。 |