Share via


IOleDocumentView::Open メソッド (docobj.h)

ドキュメント ビューを別のポップアップ ウィンドウに表示します。 セマンティクスは、 OLEIVERB_OPENの IOleObject::D oVerb と同じです。

構文

HRESULT Open();

戻り値

このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。

リターン コード 説明
E_FAIL
操作が失敗しました。
E_OUTOFMEMORY
操作に使用できるメモリが不足しています。
E_UNEXPECTED
予期しないエラーが発生しました。
E_NOTIMPL
このビューを所有するドキュメント オブジェクトは、個別のウィンドウのアクティブ化をサポートしていません。

注釈

ブラウザーや "バインダー" などのコンテナー アプリケーションでドキュメント オブジェクトを表示しているユーザーは、2 つ以上のビューまたはドキュメントを一度に表示できます。 ブラウザーでは一度に 1 つのビューしか表示されないため、コンテナーには、必要に応じて別のウィンドウで他のビューまたはドキュメントに表示を依頼する方法が必要です。 IOleDocumentView::Open メソッドは、この方法を提供します。

呼び出し元へのメモ

IOleDocumentView::Open を正常に呼び出した後、IOleDocumentView::Show を呼び出してウィンドウを非表示にするか、ウィンドウを表示してフォアグラウンドに移動する必要があります。 ビューが別のウィンドウでアクティブになっている間、コンテナーは必要な回数だけウィンドウの表示と非表示を切り替えることができます。

実装者へのメモ

ドキュメント オブジェクトは、 DOCMISC_CANTOPENEDIT 状態フラグを設定し、このメソッドを呼び出すコンテナーにE_NOTIMPLを返すことによって、別のウィンドウでのアクティブ化をサポートしないことを示します。

実装は、主に、独自の IOleInPlaceObject::InPlaceDeactivate メソッドを呼び出すビュー オブジェクトで構成され、ドキュメント オブジェクトは実行中の状態のままになりますが、インプレース アクティブ化は行われます。 ドキュメント オブジェクトのユーザー インターフェイスは、コンテナーが IOleDocumentView::Show を呼び出すまで表示されません (上記の「呼び出し元へのメモ」を参照)。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー docobj.h

こちらもご覧ください

IOleDocumentView

IOleDocumentView::CloseView

IOleDocumentView::Show

IOleDocumentView::UIActivate

IOleInPlaceObject::InPlaceDeactivate

IOleInPlaceSite

IOleInPlaceSite::OnInPlaceActivate