Share via


IOleInPlaceObject::UIDeactivate メソッド (oleidl.h)

アクティブなインプレース オブジェクトのユーザー インターフェイスを非アクティブ化および削除します。

構文

HRESULT UIDeactivate();

戻り値

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

リターン コード 説明
E_UNEXPECTED
予期しないエラーが発生しました。

注釈

呼び出し元へのメモ

このメソッドは、たとえば、ユーザーがオブジェクトの外部にあるクライアント領域をクリックしたときに、オブジェクトのイミディエイト コンテナーによって呼び出されます。

コンテナーが IOleInPlaceObject::UIDeactivate を呼び出した場合は、後で IOleInPlaceObject::InPlaceDeactivate を呼び出してリソースを適切にクリーンする必要があります。 コンテナーでは、オブジェクトを停止または解放すると、必要に応じてリソースがクリーンアップされると想定できます。 IOleInPlaceObject::InPlaceDeactivate が呼び出されていない場合は、オブジェクトを準備する必要があります。 IOleInPlaceObject::UIDeactivate または IOleObject::Close のいずれかが呼び出されました。

実装者へのメモ

メニューやウィンドウなどのリソースは、IOleInPlaceObject::InPlaceDeactivate または IOleObject::Close の呼び出しによってオブジェクトが完全に非アクティブ化されるまで、クリーンアップまたは非表示状態に保つことができます。 オブジェクト アプリケーションは、コンテナーをフレーム ウィンドウからデタッチできるように、複合メニューで何かを実行する前に IOleInPlaceSite::OnUIDeactivate を呼び出す必要があります。 インプレース オブジェクトのユーザー インターフェイスを非アクティブ化すると、オブジェクトは準備完了状態のままになるため、すぐに再アクティブ化できます。 オブジェクトは、ドキュメントの元に戻す状態が変わるまで、この状態のままです。 コンテナーは IOleInPlaceObject::InPlaceDeactivate を呼び出して、元に戻す状態を破棄するようにオブジェクトに指示する必要があります。

要件

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

こちらもご覧ください

IOleInPlaceObject

IOleInPlaceObject::InPlaceDeactivate

IOleInPlaceObject::ReactivateAndUndo

IOleInPlaceSite::OnUIDeactivate

IOleObject::Close