\section{wxSplitterWindow overview}\label{wxsplitterwindowoverview} Classes: \helpref{wxSplitterWindow}{wxsplitterwindow} The following screenshot shows the appearance of a splitter window with a vertical split. $$\image{8cm;0cm}{splitter.eps}$$ The style wxSP\_3D has been used to show a 3D border and 3D sash. \subsection{Example} The following fragment shows how to create a splitter window, creating two subwindows and hiding one of them. {\small \begin{verbatim} splitter = new wxSplitterWindow(this, 0, 0, 400, 400, wxSP_3D); leftCanvas = new MyCanvas(splitter); leftCanvas->SetBackground(wxRED_BRUSH); leftCanvas->SetScrollbars(20, 20, 50, 50, 4, 4); rightCanvas = new MyCanvas(splitter); rightCanvas->SetBackground(wxCYAN_BRUSH); rightCanvas->SetScrollbars(20, 20, 50, 50, 4, 4); rightCanvas->Show(FALSE); splitter->Initialize(leftCanvas); // Set this to prevent unsplitting // splitter->SetMinimumPaneSize(20); \end{verbatim} } The next fragment shows how the splitter window can be manipulated after creation. {\small \begin{verbatim} void MyFrame::OnSplitVertical(wxCommandEvent& event) { if ( splitter->IsSplit() ) splitter->Unsplit(); leftCanvas->Show(TRUE); rightCanvas->Show(TRUE); splitter->SplitVertically( leftCanvas, rightCanvas ); } void MyFrame::OnSplitHorizontal(wxCommandEvent& event) { if ( splitter->IsSplit() ) splitter->Unsplit(); leftCanvas->Show(TRUE); rightCanvas->Show(TRUE); splitter->SplitHorizontally( leftCanvas, rightCanvas ); } void MyFrame::OnUnsplit(wxCommandEvent& event) { if ( splitter->IsSplit() ) splitter->Unsplit(); } \end{verbatim} }