次の方法で共有


IMAPIFormAdviseSink::OnChange

適用対象: Outlook 2013 | Outlook 2016

フォーム ビューアーの状態に変更が発生したことを示します。

HRESULT OnChange(
  ULONG ulDir
);

パラメーター

ulDir

[in]ビューアーで発生した変更とフォーム内の予想される応答に関する情報を提供するフラグのビットマスク。 次のフラグを設定できます。

VCSTATUS_CATEGORY

別のカテゴリに次または前のメッセージがあります。

VCSTATUS_INTERACTIVE

フォームにはユーザー インターフェイスが表示されます。 このフラグが設定されていない場合、通常はユーザー インターフェイスが表示される動詞に応答しても、フォームはユーザー インターフェイスの表示を抑制する必要があります。

VCSTATUS_MODAL

フォームは、フォーム ビューアーに対してモーダルになります。

VCSTATUS_NEXT

フォーム ビューアーに次のメッセージが表示されます。

VCSTATUS_PREV

フォーム ビューアーに前のメッセージがあります。

VCSTATUS_READONLY

削除、送信、移動の操作は無効にする必要があります。

VCSTATUS_UNREAD

フォーム ビューアーに次または前の未読メッセージがあります。

戻り値

S_OK

通知が成功しました。

注釈

フォーム ビューアーは IMAPIFormAdviseSink::OnChange メソッドを呼び出して、ビューアーの状態の変更についてフォームに通知します。 通常、唯一の変更は、ビューアー内の次または前のメッセージの有無に基づいて、VCSTATUS_NEXTまたはVCSTATUS_PREVIOUS フラグを設定またはクリアすることです。 したがって、フォーム オブジェクトは、サポートする次のアクションまたは以前のアクションを有効または無効にします。

VCSTATUS_MODALとVCSTATUS_INTERACTIVEの設定は、作成後のビュー コンテキストでは変更できません。

実装に関するメモ

このメソッドの具体的な実装は、フォームの詳細に完全に依存します。 ほとんどのフォーム オブジェクトでは、このメソッドを使用してユーザー インターフェイスを変更します (たとえば、ビューアーの状態フラグ パラメーターに一致するメニュー コマンドやボタンを有効または無効にする場合など)。

関連項目

IMAPIViewContext::ActivateNext

IMAPIFormAdviseSink : IUnknown