wxWidgets/docs/latex/wx/tsplittr.tex

64 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 horizontal split.
$$\image{8cm;0cm}{splitter.eps}$$
The style wxSP\_3D has been used to show a 3D border and 3D sash.
\subsection{Example}\label{wxsplitterwindowexample}
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, -1, wxPoint(0, 0), wxSize(400, 400), wxSP_3D);
leftWindow = new MyWindow(splitter);
leftWindow->SetScrollbars(20, 20, 50, 50);
rightWindow = new MyWindow(splitter);
rightWindow->SetScrollbars(20, 20, 50, 50);
rightWindow->Show(false);
splitter->Initialize(leftWindow);
// 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();
leftWindow->Show(true);
rightWindow->Show(true);
splitter->SplitVertically( leftWindow, rightWindow );
}
void MyFrame::OnSplitHorizontal(wxCommandEvent& event)
{
if ( splitter->IsSplit() )
splitter->Unsplit();
leftWindow->Show(true);
rightWindow->Show(true);
splitter->SplitHorizontally( leftWindow, rightWindow );
}
void MyFrame::OnUnsplit(wxCommandEvent& event)
{
if ( splitter->IsSplit() )
splitter->Unsplit();
}
\end{verbatim}
}