]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/button.tex
Introduced the ability to size a book control based on the currently selected page
[wxWidgets.git] / docs / latex / wx / button.tex
CommitLineData
a660d684
KB
1\section{\class{wxButton}}\label{wxbutton}
2
3A button is a control that contains a text string,
3980000c 4and is one of the most common elements of a GUI. It may be placed on a
a660d684
KB
5\rtfsp\helpref{dialog box}{wxdialog} or \helpref{panel}{wxpanel}, or indeed
6almost any other window.
7
8\wxheading{Derived from}
9
10\helpref{wxControl}{wxcontrol}\\
11\helpref{wxWindow}{wxwindow}\\
12\helpref{wxEvtHandler}{wxevthandler}\\
13\helpref{wxObject}{wxobject}
14
954b8ae6
JS
15\wxheading{Include files}
16
17<wx/button.h>
18
a660d684
KB
19\wxheading{Window styles}
20
f6bcfd97
BP
21\twocolwidtha{5cm}%
22\begin{twocollist}\itemsep=0pt
401e3b6e
VS
23\twocolitem{\windowstyle{wxBU\_LEFT}}{Left-justifies the label. Windows and GTK+ only.}
24\twocolitem{\windowstyle{wxBU\_TOP}}{Aligns the label to the top of the button. Windows and GTK+ only.}
25\twocolitem{\windowstyle{wxBU\_RIGHT}}{Right-justifies the bitmap label. Windows and GTK+ only.}
26\twocolitem{\windowstyle{wxBU\_BOTTOM}}{Aligns the label to the bottom of the button. Windows and GTK+ only.}
7ef8bfc4 27\twocolitem{\windowstyle{wxBU\_EXACTFIT}}{Creates the button as small as possible instead of making it of the standard size (which is the default behaviour ).}
8a094d7b 28\twocolitem{\windowstyle{wxNO\_BORDER}}{Creates a flat button. Windows and GTK+ only.}
f6bcfd97 29\end{twocollist}
a660d684
KB
30
31See also \helpref{window styles overview}{windowstyles}.
32
5de76427
JS
33\wxheading{Event handling}
34
35\twocolwidtha{7cm}%
36\begin{twocollist}\itemsep=0pt
37\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
38when the button is clicked.}
39\end{twocollist}
40
a660d684
KB
41\wxheading{See also}
42
43\helpref{wxBitmapButton}{wxbitmapbutton}
44
45\latexignore{\rtfignore{\wxheading{Members}}}
46
f510b7b2 47\membersection{wxButton::wxButton}\label{wxbuttonctor}
a660d684
KB
48
49\func{}{wxButton}{\void}
50
51Default constructor.
52
5f7bcb48 53\func{}{wxButton}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxString\& }{label = wxEmptyString},\rtfsp
f38d3607 54\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
01a01d10 55\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``button"}}
a660d684
KB
56
57Constructor, creating and showing a button.
58
5f7bcb48
VS
59The preferred way to create standard buttons is to use default value of
60\arg{label}. If no label is supplied and \arg{id} is one of standard IDs from
dbd94b75 61\helpref{this list}{stockitems}, standard label will be used. In addition to
5f7bcb48 62that, the button will be decorated with stock icons under GTK+ 2.
401e3b6e 63
a660d684
KB
64\wxheading{Parameters}
65
66\docparam{parent}{Parent window. Must not be NULL.}
67
f38d3607 68\docparam{id}{Button identifier. A value of \texttt{wxID\_ANY} indicates a default value.}
a660d684
KB
69
70\docparam{label}{Text to be displayed on the button.}
71
72\docparam{pos}{Button position.}
73
f38d3607 74\docparam{size}{Button size. If the default size is specified then the button is sized
a660d684
KB
75appropriately for the text.}
76
77\docparam{style}{Window style. See \helpref{wxButton}{wxbutton}.}
78
79\docparam{validator}{Window validator.}
80
81\docparam{name}{Window name.}
82
83\wxheading{See also}
84
85\helpref{wxButton::Create}{wxbuttoncreate}, \helpref{wxValidator}{wxvalidator}
86
f510b7b2 87\membersection{wxButton::\destruct{wxButton}}\label{wxbuttondtor}
a660d684
KB
88
89\func{}{\destruct{wxButton}}{\void}
90
91Destructor, destroying the button.
92
93\membersection{wxButton::Create}\label{wxbuttoncreate}
94
5f7bcb48 95\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxString\& }{label = wxEmptyString},\rtfsp
f38d3607 96\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
eaaa6a06 97\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
401e3b6e
VS
98
99Button creation function for two-step creation. For more details, see
f510b7b2 100\helpref{wxButton::wxButton}{wxbuttonctor}.
a660d684
KB
101
102\membersection{wxButton::GetLabel}\label{wxbuttongetlabel}
103
104\constfunc{wxString}{GetLabel}{\void}
105
106Returns the string label for the button.
107
108\wxheading{Return value}
109
110The button's label.
111
112\wxheading{See also}
113
114\helpref{wxButton::SetLabel}{wxbuttonsetlabel}
115
e1f36ff8
VZ
116\membersection{wxButton::GetDefaultSize}\label{wxbuttongetdefaultsize}
117
118\func{wxSize}{GetDefaultSize}{\void}
119
120Returns the default size for the buttons. It is advised to make all the dialog
121buttons of the same size and this function allows to retrieve the (platform and
122current font dependent size) which should be the best suited for this.
123
a660d684
KB
124\membersection{wxButton::SetDefault}\label{wxbuttonsetdefault}
125
126\func{void}{SetDefault}{\void}
127
128This sets the button to be the default item for the panel or dialog
129box.
130
131\wxheading{Remarks}
132
133Under Windows, only dialog box buttons respond to this function. As
134normal under Windows and Motif, pressing return causes the default button to
135be depressed when the return key is pressed. See also \helpref{wxWindow::SetFocus}{wxwindowsetfocus}\rtfsp
f7bd2698 136which sets the keyboard focus for windows and text panel items,\rtfsp
d7da9756 137and \helpref{wxPanel::SetDefaultItem}{wxpanelsetdefaultitem}.
a660d684
KB
138
139Note that under Motif, calling this function immediately after
140creation of a button and before the creation of other buttons
141will cause misalignment of the row of buttons, since default
142buttons are larger. To get around this, call {\it SetDefault}\rtfsp
fc2171bd 143after you have created a row of buttons: wxWidgets will
a660d684
KB
144then set the size of all buttons currently on the panel to
145the same size.
146
147\membersection{wxButton::SetLabel}\label{wxbuttonsetlabel}
148
149\func{void}{SetLabel}{\param{const wxString\& }{label}}
150
151Sets the string label for the button.
152
153\wxheading{Parameters}
154
155\docparam{label}{The label to set.}
156
157\wxheading{See also}
158
159\helpref{wxButton::GetLabel}{wxbuttongetlabel}
160