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

ドキュメント ビューに対して、それ自体を閉じ、 その IOleInPlaceSite ポインターを解放するように指示します。

構文

HRESULT CloseView(
  [in] DWORD dwReserved
);

パラメーター

[in] dwReserved

このパラメーターは予約済みであり、 NULL にすることはできません。

戻り値

このメソッドは、成功したS_OKを返します。

解説

別のウィンドウが不要になった場合、コンテナーは IOleDocumentView::CloseView を呼び出します。この場合、ビューはサイト ポインターを別のウィンドウに解放し、ウィンドウを破棄します。 作業中のドキュメントの通常のインプレース非アクティブ化シーケンスとは異なり、ドキュメント ビューは IOleInPlaceSite ポインターを保持し続けます。 このポインターは、ビューのコンテナーが SetInPlaceSite を呼び出し、 pIPSiteNULL に設定されている場合、または IOleDocumentView::CloseView を呼び出す場合にのみ解放されます。

ユーザーがビューの別のウィンドウを閉じると、ビュー自体はシャットダウンされません。 代わりに、 IOleInPlaceSite::OnInPlaceActivate を呼び出す必要があります。 その後、ビュー サイトは、 IOleDocumentView::UIActivateFALSE ですぐに呼び出すか、後で呼び出すかを決定します。 このように、別のウィンドウに表示されるドキュメント ビューは、コンテナーの独自のウィンドウでアクティブ化できます。

コンテナーは、ビューを削除する前にこのメソッドを呼び出す必要があります。つまり、ビューへの最後の参照を解放します。 一般に、このメソッドの実装では、IOleDocumentView::Show with FALSE を呼び出して、ビューがまだ非表示でない場合は非表示にし、それ自体を非アクティブ化してビュー サイト ポインターを解放するには、NULLSetInPlaceSite を呼び出します。

コンテナーがビューを完全にシャットダウンするときに IOleDocumentView::CloseView が呼び出されるため、このメソッドを実装する必要があり、失敗する理由はありません。

要件

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

関連項目

IOleDocumentView

IOleDocumentView::SetInPlaceSite

IOleDocumentView::Show