次の方法で共有


CSplitterWnd::Create

更新 : 2007 年 11 月

Create メンバ関数を呼び出して動的分割ウィンドウを作成します。

virtual BOOL Create(
   CWnd* pParentWnd,
   int nMaxRows,
   int nMaxCols,
   SIZE sizeMin,
   CCreateContext* pContext,
   DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | SPLS_DYNAMIC_SPLIT,
   UINT nID = AFX_IDW_PANE_FIRST 
);

パラメータ

  • pParentWnd
    分割ウィンドウの親フレーム ウィンドウを指定します。

  • nMaxRows
    分割ウィンドウの最大行数を指定します。この値は 2 以下にする必要があります。

  • nMaxCols
    分割ウィンドウの最大列数を指定します。この値は 2 以下にする必要があります。

  • sizeMin
    ペインが表示されるときの最小値のサイズを指定します。

  • pContext
    CCreateContext 構造体へのポインタ。ほとんどの場合は、親フレーム ウィンドウに渡された pContext になります。

  • dwStyle
    ウィンドウ スタイルを指定します。

  • nID
    ウィンドウの子ウィンドウ ID を指定します。ID は、分割ウィンドウがほかの分割ウィンドウの中で入れ子になっていない場合は、AFX_IDW_PANE_FIRST にできます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

次に示す手順により、CSplitterWnd を親の CFrameWnd または CMDIChildWnd オブジェクトに埋め込むことができます。

  1. CSplitterWnd メンバ変数を親フレームに埋め込みます。

  2. 親フレームの CFrameWnd::OnCreateClient メンバ関数をオーバーライドします。

  3. オーバーライドされた OnCreateClient の中から、Create メンバ関数を呼び出します。

フレームの内部から分割ウィンドウを作成するときは、親フレームのパラメータ pContext を分割ウィンドウに渡します。それ以外のときは、このパラメータには NULL を指定できます。

分割ウィンドウの行の高さ、列の幅の最小値の初期値はパラメータ sizeMin により設定されます。ペイン全体を表示するには小さすぎるかどうかを調べるときに使われるこの最小値は、SetRowInfoSetColumnInfo メンバ関数で変更ができます。

動的分割ウィンドウの詳細については、「複数のドキュメント タイプ、ビュー、フレーム ウィンドウ」の「Splitter Windows」、「テクニカル ノート 29: 分割ウィンドウ」、および「CSplitterWnd」クラスの概要を参照してください。

使用例

// the following function is created by the MFC Application Wizard 
// when you select Split window from the User Interface Features tab: 
BOOL CMyChildFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext)
{
    return m_wndSplitter.Create(this,
        2, 2,       // TODO: adjust the number of rows, columns
        CSize(10, 10),  // TODO: adjust the minimum pane size
        pContext);
}

必要条件

ヘッダー : afxext.h

参照

参照

CSplitterWnd クラス

階層図

CSplitterWnd::CreateStatic

CFrameWnd::OnCreateClient

CSplitterWnd::SetRowInfo

CSplitterWnd::SetColumnInfo

CSplitterWnd::CreateView

その他の技術情報

CSplitterWnd のメンバ