1\section{\class{wxBitmapButton}}\label{wxbitmapbutton}
2
3A bitmap button is a control that contains a bitmap.
4It may be placed on a \helpref{dialog box}{wxdialog} or \helpref{panel}{wxpanel}, or indeed
5almost any other window.
6
7
8\wxheading{Derived from}
9
10\helpref{wxButton}{wxbutton}\\
11\helpref{wxControl}{wxcontrol}\\
12\helpref{wxWindow}{wxwindow}\\
13\helpref{wxEvtHandler}{wxevthandler}\\
14\helpref{wxObject}{wxobject}
15
16
17\wxheading{Include files}
18
19<wx/bmpbuttn.h>
20
21
22\wxheading{Remarks}
23
24A bitmap button can be supplied with a single bitmap, and wxWidgets will draw
25all button states using this bitmap. If the application needs more control, additional bitmaps for
26the selected state, unpressed focused state, and greyed-out state may be supplied.
27
28
29\wxheading{Button states}
30
31This class supports bitmaps for several different states:
32
33\twocolwidtha{5cm}
34\begin{twocollist}\itemsep=0pt
35\twocolitem{\windowstyle{normal}}{This is the bitmap shown in the default state,
36it must be always valid while all the other bitmaps are optional and don't have
37to be set.}
38\twocolitem{\windowstyle{disabled}}{Bitmap shown when the button is disabled.}
39\twocolitem{\windowstyle{selected}}{Bitmap shown when the button is pushed
40(e.g. while the user keeps the mouse button pressed on it)}
41\twocolitem{\windowstyle{focus}}{Bitmap shown when the button has keyboard
42focus but is not pressed.}
43\twocolitem{\windowstyle{hover}}{Bitmap shown when the mouse is over the
44button (but it is not pressed). Notice that if hover bitmap is not specified
45but the current platform UI uses hover images for the buttons (such as Windows
46XP or GTK+), then the focus bitmap is used for hover state as well. This makes
47it possible to set focus bitmap only to get reasonably good behaviour on all
48platforms.}
49\end{twocollist}
50
51
52\wxheading{Window styles}
53
54\twocolwidtha{5cm}
55\begin{twocollist}\itemsep=0pt
56\twocolitem{\windowstyle{wxBU\_AUTODRAW}}{If
57this is specified, the button will be drawn automatically using the label bitmap only, providing
58a 3D-look border. If this style is not specified, the button will be drawn without borders and using all
59provided bitmaps. WIN32 only.}
60\twocolitem{\windowstyle{wxBU\_LEFT}}{Left-justifies the bitmap label. WIN32 only.}
61\twocolitem{\windowstyle{wxBU\_TOP}}{Aligns the bitmap label to the top of the button. WIN32 only.}
62\twocolitem{\windowstyle{wxBU\_RIGHT}}{Right-justifies the bitmap label. WIN32 only.}
63\twocolitem{\windowstyle{wxBU\_BOTTOM}}{Aligns the bitmap label to the bottom of the button. WIN32 only.}
64\end{twocollist}
65
66Note that \windowstyle{wxBU\_EXACTFIT} supported by 
67\helpref{wxButton}{wxbutton} is \emph{not} used by this class as bitmap buttons
68don't have any minimal standard size by default.
69
70See also \helpref{window styles overview}{windowstyles}.
71
72
73\wxheading{Event handling}
74
75\twocolwidtha{7cm}
76\begin{twocollist}\itemsep=0pt
77\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
78when the button is clicked.}
79\end{twocollist}
80
81
82\wxheading{See also}
83
84\helpref{wxButton}{wxbutton}
85
86
87
88\latexignore{\rtfignore{\wxheading{Members}}}
89
90
91\membersection{wxBitmapButton::wxBitmapButton}\label{wxbitmapbuttonctor}
92
93\func{}{wxBitmapButton}{\void}
94
95Default constructor.
96
97\func{}{wxBitmapButton}{
98\param{wxWindow* }{parent}, 
99\param{wxWindowID }{id}, 
100\param{const wxBitmap\& }{bitmap},\rtfsp
101\param{const wxPoint\& }{pos = wxDefaultPosition}, 
102\param{const wxSize\& }{size = wxDefaultSize},\rtfsp
103\param{long }{style = wxBU\_AUTODRAW}, 
104\param{const wxValidator\& }{validator = wxDefaultValidator}, 
105\param{const wxString\& }{name = ``button"}}
106
107Constructor, creating and showing a button.
108
109\wxheading{Parameters}
110
111\docparam{parent}{Parent window. Must not be NULL.}
112
113\docparam{id}{Button identifier. A value of -1 indicates a default value.}
114
115\docparam{bitmap}{Bitmap to be displayed.}
116
117\docparam{pos}{Button position.}
118
119\docparam{size}{Button size. If the default size (-1, -1) is specified then the button is sized
120appropriately for the bitmap.}
121
122\docparam{style}{Window style. See \helpref{wxBitmapButton}{wxbitmapbutton}.}
123
124\docparam{validator}{Window validator.}
125
126\docparam{name}{Window name.}
127
128\wxheading{Remarks}
129
130The {\it bitmap} parameter is normally the only bitmap you need to provide, and wxWidgets will
131draw the button correctly in its different states. If you want more control, call
132any of the functions \helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected},\rtfsp
133\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus},\rtfsp
134\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}.
135
136Note that the bitmap passed is smaller than the actual button created.
137
138\wxheading{See also}
139
140\helpref{wxBitmapButton::Create}{wxbitmapbuttoncreate}, \helpref{wxValidator}{wxvalidator}
141
142
143\membersection{wxBitmapButton::\destruct{wxBitmapButton}}\label{wxbitmapbuttondtor}
144
145\func{}{\destruct{wxBitmapButton}}{\void}
146
147Destructor, destroying the button.
148
149
150\membersection{wxBitmapButton::Create}\label{wxbitmapbuttoncreate}
151
152\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxBitmap\& }{bitmap},\rtfsp
153\param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
154\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
155
156Button creation function for two-step creation. For more details, see \helpref{wxBitmapButton::wxBitmapButton}{wxbitmapbuttonctor}.
157
158
159\membersection{wxBitmapButton::GetBitmapDisabled}\label{wxbitmapbuttongetbitmapdisabled}
160
161\constfunc{const wxBitmap\&}{GetBitmapDisabled}{\void}
162\func{wxBitmap\&}{GetBitmapDisabled}{\void}
163
164Returns the bitmap for the disabled state, may be invalid.
165
166\wxheading{Return value}
167
168A reference to the disabled state bitmap.
169
170\wxheading{See also}
171
172\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}
173
174
175\membersection{wxBitmapButton::GetBitmapFocus}\label{wxbitmapbuttongetbitmapfocus}
176
177\constfunc{const wxBitmap\&}{GetBitmapFocus}{\void}
178\func{wxBitmap\&}{GetBitmapFocus}{\void}
179
180Returns the bitmap for the focused state, may be invalid.
181
182\wxheading{Return value}
183
184A reference to the focused state bitmap.
185
186\wxheading{See also}
187
188\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus}
189
190
191\membersection{wxBitmapButton::GetBitmapHover}\label{wxbitmapbuttongetbitmaphover}
192
193\constfunc{const wxBitmap\&}{GetBitmapHover}{\void}
194\func{wxBitmap\&}{GetBitmapHover}{\void}
195
196Returns the bitmap used when the mouse is over the button, may be invalid.
197
198\wxheading{See also}
199
200\helpref{wxBitmapButton::SetBitmapHover}{wxbitmapbuttonsetbitmaphover}
201
202
203\membersection{wxBitmapButton::GetBitmapLabel}\label{wxbitmapbuttongetbitmaplabel}
204
205\constfunc{const wxBitmap\&}{GetBitmapLabel}{\void}
206\func{wxBitmap\&}{GetBitmapLabel}{\void}
207
208Returns the label bitmap (the one passed to the constructor), always valid.
209
210\wxheading{Return value}
211
212A reference to the button's label bitmap.
213
214\wxheading{See also}
215
216\helpref{wxBitmapButton::SetBitmapLabel}{wxbitmapbuttonsetbitmaplabel}
217
218
219\membersection{wxBitmapButton::GetBitmapSelected}\label{wxbitmapbuttongetbitmapselected}
220
221\constfunc{wxBitmap\&}{GetBitmapSelected}{\void}
222\func{wxBitmap\&}{GetBitmapSelected}{\void}
223
224Returns the bitmap for the pushed button state, may be invalid.
225
226\wxheading{Return value}
227
228A reference to the selected state bitmap.
229
230\wxheading{See also}
231
232\helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected}
233
234
235\membersection{wxBitmapButton::SetBitmapDisabled}\label{wxbitmapbuttonsetbitmapdisabled}
236
237\func{void}{SetBitmapDisabled}{\param{const wxBitmap\& }{bitmap}}
238
239Sets the bitmap for the disabled button appearance.
240
241\wxheading{Parameters}
242
243\docparam{bitmap}{The bitmap to set.}
244
245\wxheading{See also}
246
247\helpref{wxBitmapButton::GetBitmapDisabled}{wxbitmapbuttongetbitmapdisabled},\rtfsp
248\helpref{wxBitmapButton::SetBitmapLabel}{wxbitmapbuttonsetbitmaplabel},\rtfsp
249\helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected},\rtfsp
250\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus}
251
252
253\membersection{wxBitmapButton::SetBitmapFocus}\label{wxbitmapbuttonsetbitmapfocus}
254
255\func{void}{SetBitmapFocus}{\param{const wxBitmap\& }{bitmap}}
256
257Sets the bitmap for the button appearance when it has the keyboard focus.
258
259\wxheading{Parameters}
260
261\docparam{bitmap}{The bitmap to set.}
262
263\wxheading{See also}
264
265\helpref{wxBitmapButton::GetBitmapFocus}{wxbitmapbuttongetbitmapfocus},\rtfsp
266\helpref{wxBitmapButton::SetBitmapLabel}{wxbitmapbuttonsetbitmaplabel},\rtfsp
267\helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected},\rtfsp
268\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}
269
270
271\membersection{wxBitmapButton::SetBitmapHover}\label{wxbitmapbuttonsetbitmaphover}
272
273\func{void}{SetBitmapHover}{\param{const wxBitmap\& }{bitmap}}
274
275Sets the bitmap to be shown when the mouse is over the button.
276
277\newsince{2.7.0} and the hover bitmap is currently only supported in wxMSW. 
278
279\wxheading{See also}
280
281\helpref{wxBitmapButton::GetBitmapHover}{wxbitmapbuttongetbitmaphover}
282
283\membersection{wxBitmapButton::SetBitmapLabel}\label{wxbitmapbuttonsetbitmaplabel}
284
285\func{void}{SetBitmapLabel}{\param{const wxBitmap\& }{bitmap}}
286
287Sets the bitmap label for the button.
288
289\wxheading{Parameters}
290
291\docparam{bitmap}{The bitmap label to set.}
292
293\wxheading{Remarks}
294
295This is the bitmap used for the unselected state, and for all other states
296if no other bitmaps are provided.
297
298\wxheading{See also}
299
300\helpref{wxBitmapButton::GetBitmapLabel}{wxbitmapbuttongetbitmaplabel}
301
302
303\membersection{wxBitmapButton::SetBitmapSelected}\label{wxbitmapbuttonsetbitmapselected}
304
305\func{void}{SetBitmapSelected}{\param{const wxBitmap\& }{bitmap}}
306
307Sets the bitmap for the selected (depressed) button appearance.
308
309\wxheading{Parameters}
310
311\docparam{bitmap}{The bitmap to set.}
312
313\wxheading{See also}
314
315\helpref{wxBitmapButton::GetBitmapSelected}{wxbitmapbuttongetbitmapselected},\rtfsp
316\helpref{wxBitmapButton::SetBitmapLabel}{wxbitmapbuttonsetbitmaplabel},\rtfsp
317\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus},\rtfsp
318\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}
319
320
321