COleIPFrameWnd クラス
アプリケーションの埋め込み先編集ウィンドウの基底クラスです。
構文
class COleIPFrameWnd : public CFrameWnd
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
COleIPFrameWnd::COleIPFrameWnd | COleIPFrameWnd オブジェクトを構築します。 |
パブリック メソッド
名前 | 説明 |
---|---|
COleIPFrameWnd::OnCreateControlBars | インプレース編集のために項目がアクティブになったときにフレームワークによって呼び出されます。 |
COleIPFrameWnd::RepositionFrame | インプレース編集ウィンドウの位置を変更するためにフレームワークによって呼び出されます。 |
解説
このクラスは、コンテナー アプリケーションのドキュメント ウィンドウ内にコントロール バーを作成して配置します。 また、ユーザーがインプレース編集ウィンドウのサイズを変更したときに、埋め込み COleResizeBar オブジェクトによって生成された通知も処理します。
COleIPFrameWnd
の使用方法の詳細については、Activationに関する記事を参照してください。
継承階層
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
は "内側から" 動作します。