]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/button.tex
First step in background erase optimization
[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,
4and is one of the commonest elements of a GUI. It may be placed on a
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
47\membersection{wxButton::wxButton}\label{wxbuttonconstr}
48
49\func{}{wxButton}{\void}
50
51Default constructor.
52
eaaa6a06 53\func{}{wxButton}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxString\& }{label},\rtfsp
a660d684 54\param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
eaaa6a06 55\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
a660d684 56
401e3b6e
VS
57\func{}{wxButton}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},
58\param{wxStockItemID}{ stock},\rtfsp
59\param{const wxString\& }{descriptiveLabel = wxEmptyString},\rtfsp
60\param{const wxPoint\& }{pos},\rtfsp
61\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
62
a660d684
KB
63Constructor, creating and showing a button.
64
401e3b6e
VS
65The second form is used to create {\em stock} button. Stock buttons are
66commonly used buttons such as OK or Cancel. They have standard label and
67dimensions and may have different appearance on some platforms (e.g. GTK+ 2
68decorates them with icons). Using this from is preferred way of creating
69standard buttons.
70
a660d684
KB
71\wxheading{Parameters}
72
73\docparam{parent}{Parent window. Must not be NULL.}
74
75\docparam{id}{Button identifier. A value of -1 indicates a default value.}
76
77\docparam{label}{Text to be displayed on the button.}
78
79\docparam{pos}{Button position.}
80
81\docparam{size}{Button size. If the default size (-1, -1) is specified then the button is sized
82appropriately for the text.}
83
84\docparam{style}{Window style. See \helpref{wxButton}{wxbutton}.}
85
86\docparam{validator}{Window validator.}
87
88\docparam{name}{Window name.}
89
401e3b6e
VS
90\docparam{stock}{Stock ID of the stock button to create. See the
91\helpref{list of possible values}{stockitems}.}
92
93\docparam{descriptiveLabel}{Optional label to be used on platforms where
94standard buttons have descriptive rather than generic labels. Mac is one such
95platforms, well-behaved Mac apps should use descriptive labels (e.g. "Save"
09d23693
VS
96and "Don't Save" instead of "OK" and "Cancel"). This argument is ignored on
97other platforms.}
401e3b6e 98
a660d684
KB
99\wxheading{See also}
100
101\helpref{wxButton::Create}{wxbuttoncreate}, \helpref{wxValidator}{wxvalidator}
102
103\membersection{wxButton::\destruct{wxButton}}
104
105\func{}{\destruct{wxButton}}{\void}
106
107Destructor, destroying the button.
108
109\membersection{wxButton::Create}\label{wxbuttoncreate}
110
eaaa6a06 111\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxString\& }{label},\rtfsp
a660d684 112\param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
eaaa6a06 113\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
a660d684 114
401e3b6e
VS
115\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},
116\param{wxStockItemID}{ stock},\rtfsp
117\param{const wxString\& }{descriptiveLabel = wxEmptyString},\rtfsp
118\param{const wxPoint\& }{pos},\rtfsp
119\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
120
121Button creation function for two-step creation. For more details, see
122\helpref{wxButton::wxButton}{wxbuttonconstr}.
a660d684
KB
123
124\membersection{wxButton::GetLabel}\label{wxbuttongetlabel}
125
126\constfunc{wxString}{GetLabel}{\void}
127
128Returns the string label for the button.
129
130\wxheading{Return value}
131
132The button's label.
133
134\wxheading{See also}
135
136\helpref{wxButton::SetLabel}{wxbuttonsetlabel}
137
e1f36ff8
VZ
138\membersection{wxButton::GetDefaultSize}\label{wxbuttongetdefaultsize}
139
140\func{wxSize}{GetDefaultSize}{\void}
141
142Returns the default size for the buttons. It is advised to make all the dialog
143buttons of the same size and this function allows to retrieve the (platform and
144current font dependent size) which should be the best suited for this.
145
a660d684
KB
146\membersection{wxButton::SetDefault}\label{wxbuttonsetdefault}
147
148\func{void}{SetDefault}{\void}
149
150This sets the button to be the default item for the panel or dialog
151box.
152
153\wxheading{Remarks}
154
155Under Windows, only dialog box buttons respond to this function. As
156normal under Windows and Motif, pressing return causes the default button to
157be depressed when the return key is pressed. See also \helpref{wxWindow::SetFocus}{wxwindowsetfocus}\rtfsp
f7bd2698 158which sets the keyboard focus for windows and text panel items,\rtfsp
d7da9756 159and \helpref{wxPanel::SetDefaultItem}{wxpanelsetdefaultitem}.
a660d684
KB
160
161Note that under Motif, calling this function immediately after
162creation of a button and before the creation of other buttons
163will cause misalignment of the row of buttons, since default
164buttons are larger. To get around this, call {\it SetDefault}\rtfsp
fc2171bd 165after you have created a row of buttons: wxWidgets will
a660d684
KB
166then set the size of all buttons currently on the panel to
167the same size.
168
169\membersection{wxButton::SetLabel}\label{wxbuttonsetlabel}
170
171\func{void}{SetLabel}{\param{const wxString\& }{label}}
172
173Sets the string label for the button.
174
175\wxheading{Parameters}
176
177\docparam{label}{The label to set.}
178
179\wxheading{See also}
180
181\helpref{wxButton::GetLabel}{wxbuttongetlabel}
182