// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
-/*!
+/**
-@page overview_sizer Sizer Overview
+@page overview_sizer Sizers Overview
Classes: wxSizer, wxGridSizer, wxFlexGridSizer, wxBoxSizer, wxStaticBoxSizer
controls can calculate their height, but not their width (e.g. a single line
text control):
-@image html sizer03.bmp
+@image html overview_sizer_03.png
-@image html sizer04.bmp
+@image html overview_sizer_04.png
-@image html sizer05.bmp
+@image html overview_sizer_05.png
<b>A border</b>: 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
with only one dialog item (a button) and a border of 0, 5, and 10 pixels around
the button:
-@image html sizer00.bmp
+@image html overview_sizer_00.png
-@image html sizer01.bmp
+@image html overview_sizer_01.png
-@image html sizer02.bmp
+@image html overview_sizer_02.png
<b>An alignment</b>: Often, a dialog item is given more space than its minimal
size plus its border. Depending on what flags are used for the respective
box sizer; one button is centred, one is aligned at the top, one is aligned at
the bottom:
-@image html sizer06.bmp
+@image html overview_sizer_06.png
<b>A stretch factor</b>: If a sizer contains more than one child and it is
offered more space than its children and their borders need, the question
first one has a stretch factor of 1 and thus gets stretched, whereas the other
two buttons have a stretch factor of zero and keep their initial width:
-@image html sizer07.bmp
+@image html overview_sizer_07.png
Within wxDesigner, this stretch factor gets set from the @e Option menu.
stretched horizontally. The following sample shows the same dialog as in the
last sample, only the box sizer is a vertical box sizer now:
-@image html sizer08.bmp
+@image html overview_sizer_08.png
@subsection overview_sizer_hiding_static wxStaticBoxSizer
wxStaticBoxSixer is the same as a wxBoxSizer, but surrounded by a static box.
Here is a sample:
-@image html sizer09.bmp
+@image html overview_sizer_09.png
@subsection overview_sizer_hiding_grid wxGridSizer
or rows is fixed and the grid sizer will grow in the respectively other
orientation if new children are added:
-@image html sizer10.bmp
+@image html overview_sizer_10.png
For programming information, see wxGridSizer.
different from the one it requested. The following sample shows the same dialog
as the one above, but using a flex grid sizer:
-@image html sizer11.bmp
+@image html overview_sizer_11.png
@section overview_sizer_box Programming with wxBoxSizer
{
wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
- // create text ctrl with minimal size 100x60 that is horizontally and
+ // create text ctrl with minimal size 100x60 that is horizontally and
// vertically stretchable with a border width of 10
topsizer->Add(
new wxTextCtrl( this, -1, "My text.", wxDefaultPosition, wxSize(100,60), wxTE_MULTILINE),
wxBoxSizer *button_sizer = new wxBoxSizer( wxHORIZONTAL );
- //create two buttons that are horizontally unstretchable,
+ //create two buttons that are horizontally unstretchable,
// with an all-around border with a width of 10 and implicit top alignment
button_sizer->Add(
new wxButton( this, wxID_OK, "OK" ),
- wxSizerFlags(0).Align().Border(wxALL, 10));
+ wxSizerFlags(0).Align().Border(wxALL, 10));
button_sizer->Add(
new wxButton( this, wxID_CANCEL, "Cancel" ),
- wxSizerFlags(0).Align().Border(wxALL, 10));
+ wxSizerFlags(0).Align().Border(wxALL, 10));
//create a sizer with no border and centered horizontally
topsizer->Add(
button_sizer,
- wxSizerFlags(0).Center() );
+ wxSizerFlags(0).Center() );
SetSizerAndFit(topsizer); // use the sizer for layout and set size and hints
}
@section overview_sizer_button CreateButtonSizer
-As a convenience, CreateButtonSizer(long flags) can be used to create a
+As a convenience, wxDialog::CreateButtonSizer(long flags) can be used to create a
standard button sizer in which standard buttons are displayed. The following
flags can be passed to this function: