The following is done in OnCreateClient:
1: Create a Splitter with 1 row and two columns
paneID = AFX_IDW_PANE_FIRST;
m_SplitLeft.CreateStatic(this, 1, 2, dwStyle, paneID);
2: In column 1 (the right-most column) create another splitter with 1
and 2 rows
paneID = m_SplitLeft.IdFromRowCol(0, 1);
m_SplitRight.CreateStatic(&m_SplitLeft, 2, 1, dwStyle, paneID);
3: now in each pane create a view:
m_wndLeft.CreateView(0, 0, RUNTIME_CLASS(CViewLeft), CSize(vlcx,
m_wndRight.CreateView(0, 0, RUNTIME_CLASS(CViewRightTop), CSize(vrcx,
m_wndRight.CreateView(1, 0, RUNTIME_CLASS(CViewRightBot), CSize(vrcx,
4: Add in two dozen other details, like checking the return values on
the above functions,
setting the row and column sizes, calling RecalcLayout, etc. etc.
(My sitemanager broke the ability of Netscape to send Email from our
> I need to create a splitter window with 3 panes - 1 down
> the left side, and two on the right. I know I need to
> create two seperate CSplitterWnds, one inside the other.
> I'm at a loss how to do this. When I try to use AddView
> with a class of CSplitterWnd, it complains that it can't
> be dynamically created.
> I know it has been done, because I've seen other questions
> on it here, but how?