wxWidgets/docs/latex/wx/tsplittr.tex

66 lines
1.7 KiB
TeX
Raw Normal View History

\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}
}