don't have any natural width or height and thus require an explicit size. Some controls
can calculate their height, but not their width (e.g. a single line text control):
-\center{
-\image{}{sizer03.gif}
+\newcommand{\myimage}[1]{\mbox{\image{0cm;0cm}{#1}}}
-\image{}{sizer04.gif}
-
-\image{}{sizer05.gif}
-}
+\begin{center}
+\myimage{sizer03.eps}\gifsep
+\myimage{sizer04.eps}\gifsep
+\myimage{sizer05.eps}
+\end{center}
{\bf A border:} The border is just empty space and is used to separate dialog items
in a dialog. This border can either be all around, or at any combination of sides
explicitly, typically 5 points. The following samples show dialogs with only one
dialog item (a button) and a border of 0, 5, and 10 pixels around the button:
-\center{
-\image{}{sizer00.gif}
-
-\image{}{sizer01.gif}
-
-\image{}{sizer02.gif}
-}
+\begin{center}
+\myimage{sizer00.eps}\gifsep
+\myimage{sizer01.eps}\gifsep
+\myimage{sizer02.eps}
+\end{center}
{\bf An alignment:} Often, a dialog item is given more space than its minimal size
plus its border. Depending on what flags are used for the respective dialog
sample shows a listbox and three buttons in a horizontal box sizer; one button
is centred, one is aligned at the top, one is aligned at the bottom:
-\center{
-\image{}{sizer06.gif}
-}
+\begin{center}
+\myimage{sizer06.eps}
+\end{center}
{\bf A stretch factor:} If a sizer contains more than one child and it is offered
more space than its children and their borders need, the question arises how to
whereas the other two buttons have a stretch factor of zero and keep their
initial width:
-\center{
-\image{}{sizer07.gif}
-}
+\begin{center}
+\myimage{sizer07.eps}
+\end{center}
Within wxDesigner, this stretch factor gets set from the {\it Option} menu.
The following sample shows the same dialog as in the last sample,
only the box sizer is a vertical box sizer now:
-\center{
-\image{}{sizer08.gif}
-}
+\begin{center}
+\myimage{sizer08.eps}
+\end{center}
\wxheading{wxStaticBoxSizer}
\helpref{wxStaticBoxSixer}{wxstaticboxsizer} is the same as a wxBoxSizer, but surrounded by a
static box. Here is a sample:
-\center{
-\image{}{sizer09.gif}
-}
+\begin{center}
+\myimage{sizer09.eps}
+\end{center}
\wxheading{wxGridSizer}
of columns or the number or rows is fixed and the grid sizer will grow
in the respectively other orientation if new children are added:
-\center{
-\image{}{sizer10.gif}
-}
+\begin{center}
+\myimage{sizer10.eps}
+\end{center}
For programming information, see \helpref{wxGridSizer}{wxgridsizer}.
a size different from that which it requested. The following sample shows
the same dialog as the one above, but using a flex grid sizer:
-\center{
-\image{}{sizer11.gif}
-}
+\begin{center}
+\myimage{sizer11.eps}
+\end{center}
\wxheading{wxNotebookSizer}
0, // make vertically unstretchable
wxALIGN_CENTER ); // no border and centre horizontally
- SetAutoLayout( TRUE ); // tell dialog to use sizer
- SetSizer( topsizer ); // actually set the sizer
+ SetSizer( topsizer ); // use the sizer for layout
- topsizer->Fit( this ); // set size to minimum size as calculated by the sizer
- topsizer->SetSizeHints( this ); // set size hints to honour mininum size
+ topsizer->SetSizeHints( this ); // set size hints to honour minimum size
}
\end{verbatim}
In order to query the size of notebook page, this page needs to have its
own sizer, otherwise the wxNotebookSizer will ignore it. Notebook pages
-get their size by assigning one to them using \helpref{wxWindow::SetSizer}{wxwindowsetsizer}
+get their sizer by assigning one to them using \helpref{wxWindow::SetSizer}{wxwindowsetsizer}
and setting the auto-layout option to TRUE using
\helpref{wxWindow::SetAutoLayout}{wxwindowsetautolayout}. Here is one
example showing how to add a notebook page that the notebook sizer is