Share via


IOleInPlaceSite::GetWindowContext メソッド (oleidl.h)

インプレース オブジェクトで、ウィンドウ オブジェクト階層を形成するウィンドウ インターフェイスと、オブジェクトのインプレース アクティブ化ウィンドウが配置される親ウィンドウ内の位置を取得できるようにします。

構文

HRESULT GetWindowContext(
  [out]     IOleInPlaceFrame      **ppFrame,
  [out]     IOleInPlaceUIWindow   **ppDoc,
  [out]     LPRECT                lprcPosRect,
  [out]     LPRECT                lprcClipRect,
  [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo
);

パラメーター

[out] ppFrame

フレームへのインターフェイス ポインターを受け取る IOleInPlaceFrame ポインター変数へのポインター。 エラーが発生した場合、実装では ppFrameNULL に設定する必要があります。

[out] ppDoc

ドキュメント ウィンドウへのインターフェイス ポインターを受け取る IOleInPlaceUIWindow ポインター変数へのポインター。 ドキュメント ウィンドウがフレーム ウィンドウと同じ場合、 ppDocNULL に設定されます。 この場合、オブジェクトは ppFrame または境界ネゴシエーションのみを使用できます。 エラーが返された場合、実装では ppDocNULL に設定する必要があります。

[out] lprcPosRect

親ウィンドウのクライアント座標内のインプレース オブジェクトの位置を含む四角形の RECT 構造体へのポインター。 エラーが返された場合は、このパラメーターを NULL に設定する必要があります。

[out] lprcClipRect

インプレース オブジェクトの位置四角形 (lprcPosRect) を含む外側の四角形の RECT 構造体へのポインター。 この四角形は、埋め込み先オブジェクトの親ウィンドウのクライアント領域に対して相対的に指定されます。 エラーが返された場合は、このパラメーターを NULL に設定する必要があります。

[in, out] lpFrameInfo

コンテナーが適切なデータを入力する OLEINPLACEFRAMEINFO 構造体へのポインター。 エラーが返された場合は、このパラメーターを NULL に設定する必要があります。

戻り値

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

リターン コード 説明
E_INVALIDARG
指定されたポインターの 1 つ以上が無効です。
E_UNEXPECTED
予期しないエラーが発生しました。

解説

OLEINPLACEFRAMEINFO 構造体は、オブジェクトがアクティブになっている間に、OLE がキーストローク アクセラレータをコンテナー フレームにディスパッチするために必要なデータを提供します。

オブジェクトがアクティブ化されると、コンテナーから GetWindowContext が呼び出されます。 コンテナーは、 OLEINPLACEFRAMEINFO 構造体を介してインプレース アクセラレータ テーブルにハンドルを返します。 GetWindowContext を呼び出す前に、オブジェクトは lpFrameInfo が指す cb メンバーを入力して OLEINPLACEFRAMEINFO 構造体のサイズを指定する必要があります。

要件

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

関連項目

IOleInPlaceSite