次の方法で共有


COleIPFrameWnd クラス

アプリケーションの埋め込み先編集ウィンドウの基底クラスです。

構文

class COleIPFrameWnd : public CFrameWnd

メンバー

パブリック コンストラクター

名前 説明
COleIPFrameWnd::COleIPFrameWnd COleIPFrameWnd オブジェクトを構築します。

パブリック メソッド

名前 説明
COleIPFrameWnd::OnCreateControlBars インプレース編集のために項目がアクティブになったときにフレームワークによって呼び出されます。
COleIPFrameWnd::RepositionFrame インプレース編集ウィンドウの位置を変更するためにフレームワークによって呼び出されます。

解説

このクラスは、コンテナー アプリケーションのドキュメント ウィンドウ内にコントロール バーを作成して配置します。 また、ユーザーがインプレース編集ウィンドウのサイズを変更したときに、埋め込み COleResizeBar オブジェクトによって生成された通知も処理します。

COleIPFrameWndの使用方法の詳細については、Activationに関する記事を参照してください。

継承階層

CObject

CCmdTarget

CWnd

CFrameWnd

COleIPFrameWnd

要件

ヘッダー: afxole.h

COleIPFrameWnd::COleIPFrameWnd

COleIPFrameWnd オブジェクトを構築し、そのインプレース状態情報を初期化します。この情報は OLEINPLACEFRAMEINFO 型の構造体に格納されます。

COleIPFrameWnd();

解説

詳細については、Windows SDK の「 OLEINPLACEFRAMEINFO 」を参照してください。

COleIPFrameWnd::OnCreateControlBars

フレームワークは、インプレース編集のために項目がアクティブになると、 OnCreateControlBars 関数を呼び出します。

virtual BOOL OnCreateControlBars(
    CWnd* pWndFrame,
    CWnd* pWndDoc);

virtual BOOL OnCreateControlBars(
    CFrameWnd* pWndFrame,
    CFrameWnd* pWndDoc);

パラメーター

pWndFrame
コンテナー アプリケーションのフレーム ウィンドウへのポインター。

pWndDoc
コンテナーのドキュメント レベル ウィンドウへのポインター。 コンテナーが SDI アプリケーションの場合は NULL にすることができます。

戻り値

成功した場合は 0 以外。それ以外の場合は 0。

解説

既定の実装では、何も行われません。 コントロール バーの作成時に必要な特別な処理を実行するには、この関数をオーバーライドします。

COleIPFrameWnd::RepositionFrame

フレームワークは、 RepositionFrame メンバー関数を呼び出してコントロール バーをレイアウトし、インプレース編集ウィンドウの位置を変更して、すべてが表示されるようにします。

virtual void RepositionFrame(
    LPCRECT lpPosRect,
    LPCRECT lpClipRect);

パラメーター

lpPosRect
RECT構造体へのポインター、またはインプレース フレーム ウィンドウの現在の位置座標を含むCRect オブジェクト (クライアント領域を基準としたピクセル単位)。

lpClipRect
RECT構造体、またはインプレース フレーム ウィンドウの現在のクリッピング四角形座標を含むCRect オブジェクトへのポインター (クライアント領域を基準にピクセル単位)。

解説

コンテナー ウィンドウ内のコントロール バーのレイアウトは、OLE 以外のフレーム ウィンドウで実行されるレイアウトとは異なります。 OLE 以外のフレーム ウィンドウでは、 CFrameWnd::RecalcLayout の呼び出しと同様に、特定のフレーム ウィンドウ サイズからコントロール バーやその他のオブジェクトの位置が計算されます。 クライアント領域は、コントロール バーとその他のオブジェクトの領域が減算された後に残ります。 一方、 COleIPFrameWnd ウィンドウは、特定のクライアント領域に従ってツールバーを配置します。 つまり、 CFrameWnd::RecalcLayout は "外側から" 動作しますが、 COleIPFrameWnd::RepositionFrame は "内側から" 動作します。

関連項目

MFC サンプル HIERSVR
CFrameWnd クラス
階層図
CFrameWnd クラス