IOleDocumentSite::ActivateMe メソッド (docobj.h)
インプレース アクティブ オブジェクトではなく、ドキュメント オブジェクトとして呼び出しを行うドキュメントのアクティブ化をドキュメント サイトに要求し、必要に応じて、アクティブ化するオブジェクト ドキュメントのビューを指定します。
構文
HRESULT ActivateMe(
[in] IOleDocumentView *pViewToActivate
);
パラメーター
[in] pViewToActivate
ドキュメント オブジェクトのアクティブ化に使用するドキュメント ビューを表す IOleDocumentView インターフェイス ポインターへのポインター。 このパラメーターには NULL を指定できます。この場合、コンテナーは IOleDocument::CreateView を呼び出してドキュメント ビュー ポインターを取得する必要があります。
戻り値
このメソッドは、成功したS_OKを返します。
注釈
コンテナーが IOleObject::D oVerb を呼び出してドキュメントをアクティブ化すると、ドキュメント オブジェクトは IOleDocumentSite::ActivateMe を呼び出して通常のインプレース アクティブ化シーケンスをバイパスします。
ドキュメント オブジェクトで IOleObject::D oVerb を呼び出す場合、通常、最も適切なアクティブ化動詞はOLEIVERB_SHOW。 その他の使用できる動詞には、OLEIVERB_PRIMARYとOLEIVERB_UIACTIVATEがあります。 OLEIVERB_OPENは、ドキュメント オブジェクトのアクティブ化の意図に反する、別のウィンドウで埋め込みオブジェクトを開くことを意味するため、推奨されません。
呼び出し元へのメモ
ドキュメント オブジェクトのみがこのメソッドを呼び出す必要があります。 通常のインプレース 作業中のドキュメントは、IOleInPlaceSite を呼び出して IOleObject::D oVerb へのコンテナーの呼び出しに応答する必要があります。ドキュメント オブジェクトは 、IOleDocumentSite::ActivateMe を呼び出してアクティブ化を開始する必要があります。 コンテナーに IOleDocumentSite が実装されていない場合、ドキュメントは既定で通常のインプレース アクティブ化シーケンスに設定されます。
データの複数のビューをサポートするドキュメント オブジェクトは、pViewToActivate でそのビューの IOleDocumentView インターフェイスへのポインターを渡すことによって、アクティブ化するビューを指定できます。
ただし、 IOleDocumentView ポインターが取得されると、コンテナーは不要になったときにポインターを解放する必要があります。
実装者へのメモ
この関数は、ドキュメント オブジェクト コンテナーに完全に実装する必要があります。E_NOTIMPLは許容される戻り値ではありません。ドキュメント オブジェクトが pViewToActivate で IOleDocumentView ポインターを渡す場合、コンテナーの IOleDocumentSite::ActivateMe の実装は IOleDocumentView::SetInPlaceSite を呼び出し、IOleInPlaceSite インターフェイスへのポインターをビュー オブジェクトに渡す必要があります。 コンテナーが IOleDocumentView ポインターを保持している場合は、通常は IOleDocumentView::SetInPlaceSite の呼び出しに従って IUnknown::AddRef を呼び出す必要があります。
pViewToActivate が NULL の場合、コンテナーは IOleDocument のドキュメントに対してクエリを実行し、IOleDocument::CreateView を呼び出して IOleInPlaceSite ポインターを渡すことで、ドキュメント ビューへのポインターを取得できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | docobj.h |