1998-05-20 10:25:30 -04:00
|
|
|
\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}
|
1998-06-14 16:48:39 -04:00
|
|
|
splitter = new wxSplitterWindow(this, -1, wxPoint(0, 0), wxSize(400, 400), wxSP_3D);
|
1998-05-20 10:25:30 -04:00
|
|
|
|
1998-06-14 16:48:39 -04:00
|
|
|
leftWindow = new MyWindow(splitter);
|
|
|
|
leftWindow->SetScrollbars(20, 20, 50, 50);
|
1998-05-20 10:25:30 -04:00
|
|
|
|
1998-06-14 16:48:39 -04:00
|
|
|
rightWindow = new MyWindow(splitter);
|
|
|
|
rightWindow->SetScrollbars(20, 20, 50, 50);
|
2003-01-17 19:16:34 -05:00
|
|
|
rightWindow->Show(false);
|
1998-05-20 10:25:30 -04:00
|
|
|
|
1998-06-14 16:48:39 -04:00
|
|
|
splitter->Initialize(leftWindow);
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
// 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();
|
2003-01-17 19:16:34 -05:00
|
|
|
leftWindow->Show(true);
|
|
|
|
rightWindow->Show(true);
|
1998-06-14 16:48:39 -04:00
|
|
|
splitter->SplitVertically( leftWindow, rightWindow );
|
1998-05-20 10:25:30 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
void MyFrame::OnSplitHorizontal(wxCommandEvent& event)
|
|
|
|
{
|
|
|
|
if ( splitter->IsSplit() )
|
|
|
|
splitter->Unsplit();
|
2003-01-17 19:16:34 -05:00
|
|
|
leftWindow->Show(true);
|
|
|
|
rightWindow->Show(true);
|
1998-06-14 16:48:39 -04:00
|
|
|
splitter->SplitHorizontally( leftWindow, rightWindow );
|
1998-05-20 10:25:30 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
void MyFrame::OnUnsplit(wxCommandEvent& event)
|
|
|
|
{
|
|
|
|
if ( splitter->IsSplit() )
|
|
|
|
splitter->Unsplit();
|
|
|
|
}
|
|
|
|
\end{verbatim}
|
|
|
|
}
|
|
|
|
|