CSplitterWnd::Create

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 );

Return Value

Nonzero if successful; otherwise 0.

Parameters

pParentWnd

The parent frame window of the splitter window.

nMaxRows

The maximum number of rows in the splitter window. This value must not exceed 2.

nMaxCols

The maximum number of columns in the splitter window. This value must not exceed 2.

sizeMin

Specifies the minimum size at which a pane may be displayed.

pContext

A pointer to a CCreateContext structure. In most cases, this can be the pContext passed to the parent frame window.

dwStyle

Specifies the window style.

nID

The child window ID of the window. The ID can be AFX_IDW_PANE_FIRST unless the splitter window is nested inside another splitter window.

Remarks

To create a dynamic splitter window, call the Create member function.

You can embed a CSplitterWnd in a parent CFrameWnd or CMDIChildWnd object by taking the following steps:

  1. Embed a CSplitterWnd member variable in the parent frame.

  2. Override the parent frame’s CFrameWnd::OnCreateClient member function.

  3. Call the Create member function from within the overridden OnCreateClient.

When you create a splitter window from within a parent frame, pass the parent frame’s pContext parameter to the splitter window. Otherwise, this parameter can be NULL.

The initial minimum row height and column width of a dynamic splitter window are set by the sizeMin parameter. These minimums, which determine whether a pane is too small to be shown in its entirety, can be changed with the SetRowInfo and SetColumnInfo member functions.

For more on dynamic splitter windows, see "Splitter Windows" in the article Multiple Document Types, Views, and Frame Windows in Visual C++ Programmer’s Guide, Technical Note 29, and the CSplitterWnd class overview.

Example

// the following function is created by (step 4) of the MFC AppWizard 
// when you select Use split window from the Windows Style tab of the
// Advanced Options dialog 

BOOL CMainFrame::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);
}

CSplitterWnd OverviewClass MembersHierarchy Chart

See Also   CSplitterWnd::CreateStatic, CFrameWnd::OnCreateClient, CSplitterWnd::SetRowInfo, CSplitterWnd::SetColumnInfo, CSplitterWnd::CreateView