IOleInPlaceUIWindow::SetActiveObject メソッド (oleidl.h)

オブジェクトと各フレームウィンドウとドキュメント ウィンドウの間の直接の通信チャネルを提供します。

構文

HRESULT SetActiveObject(
  [in] IOleInPlaceActiveObject *pActiveObject,
  [in] LPCOLESTR               pszObjName
);

パラメーター

[in] pActiveObject

アクティブなインプレース オブジェクトの IOleInPlaceActiveObject インターフェイスへのポインター。

[in] pszObjName

埋め込みコンテナーがウィンドウ タイトルの作成に使用できるオブジェクトを記述する名前を含む文字列へのポインター。 オブジェクトがウィンドウ タイトルを変更するためにコンテナーを必要としない場合は NULL にすることができます 。 コンテナーは、このパラメーターを無視し、タイトル バーで常に独自の名前を使用する必要があります。

戻り値

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

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

注釈

通常、埋め込みオブジェクトは pszObjName パラメーターに NULL を渡す必要があります (下記の「実装者へのメモ」を参照してください)。 ただし、そのタイトル バーにインプレース アクティブ オブジェクトの名前を表示するコンテナーと組み合わせて作業している場合は、アプリケーション名 – <オブジェクトの短縮型名>>という形式<で文字列を作成する必要があります。

呼び出し元へのメモ

IOleInPlaceUIWindow::SetActiveObject は、 オブジェクトによって呼び出され、それ自体とドキュメントウィンドウとフレーム ウィンドウ間の直接通信リンクを確立します。

非アクティブ化すると、オブジェクトは IOleInPlaceUIWindow::SetActiveObject を呼び出し、pActiveObject パラメーターと pszObjName パラメーターに NULL を渡します。

オブジェクトは 、IOleInPlaceFrame::SetMenu を呼び出す前に IOleInPlaceUIWindow::SetActiveObject を呼び出して、コンテナーにアクティブ オブジェクトへのポインターを与える必要があります。 その後、コンテナーは IOleInPlaceFrame::SetMenu の処理でこのポインターを使用し、 OleSetMenuDescriptor に渡します。

実装者へのメモ

Microsoft Windows ユーザー インターフェイス デザイン ガイドでは、このメソッドで渡された pszObjName パラメーターをインプレース コンテナーで無視することをお勧めします。 ガイドには、「タイトル バーはインプレース アクティブ化の影響を受けません。 常に最上位レベルのコンテナーの名前が表示されます。

要件

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

こちらもご覧ください

IOleInPlaceFrame::SetMenu

IOleInPlaceUIWindow

OleSetMenuDescriptor