]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/bmpbuttn.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxBitmapButton
4 // Author: wxWidgets team
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
12 A bitmap button is a control that contains a bitmap.
13 It may be placed on a wxDialog or a wxPanel, or indeed almost any other window.
16 A bitmap button can be supplied with a single bitmap, and wxWidgets will draw
17 all button states using this bitmap. If the application needs more control,
18 additional bitmaps for the selected state, unpressed focused state, and greyed-out
19 state may be supplied.
21 @section bitmapbutton_states Button states
23 This class supports bitmaps for several different states:
24 @li @b normal: this is the bitmap shown in the default state, it must be always
25 valid while all the other bitmaps are optional and don't have to be set.
26 @li @b disabled: bitmap shown when the button is disabled.
27 @li @b selected: bitmap shown when the button is pushed (e.g. while the user
28 keeps the mouse button pressed on it)
29 @li @b focus: bitmap shown when the button has keyboard focus but is not pressed.
30 @li @b hover: bitmap shown when the mouse is over the button (but it is not pressed).
31 Notice that if hover bitmap is not specified but the current platform UI uses
32 hover images for the buttons (such as Windows XP or GTK+), then the focus bitmap
33 is used for hover state as well. This makes it possible to set focus bitmap only
34 to get reasonably good behaviour on all platforms.
38 If this is specified, the button will be drawn automatically using
39 the label bitmap only, providing a 3D-look border. If this style is
40 not specified, the button will be drawn without borders and using
41 all provided bitmaps. Has effect only under MS Windows.
43 Left-justifies the bitmap label. Has effect only under MS Windows.
45 Aligns the bitmap label to the top of the button.
46 Has effect only under MS Windows.
48 Right-justifies the bitmap label. Has effect only under MS Windows.
50 Aligns the bitmap label to the bottom of the button.
51 Has effect only under MS Windows.
54 Note that the wxBU_EXACTFIT style supported by wxButton is not used by this
55 class as bitmap buttons don't have any minimal standard size by default.
57 @beginEventEmissionTable{wxCommandEvent}
58 @event{EVT_BUTTON(id, func)}
59 Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.
64 @appearance{bitmapbutton.png}
68 class wxBitmapButton
: public wxButton
77 Constructor, creating and showing a button.
80 Parent window. Must not be @NULL.
82 Button identifier. The value wxID_ANY indicates a default value.
84 Bitmap to be displayed.
87 If ::wxDefaultPosition is specified then a default position is chosen.
90 If ::wxDefaultSize is specified then the button is sized appropriately
93 Window style. See wxBitmapButton.
99 @remarks The bitmap parameter is normally the only bitmap you need to provide,
100 and wxWidgets will draw the button correctly in its different states.
101 If you want more control, call any of the functions SetBitmapSelected(),
102 SetBitmapFocus(), SetBitmapDisabled().
104 @see Create(), wxValidator
106 wxBitmapButton(wxWindow
* parent
, wxWindowID id
,
107 const wxBitmap
& bitmap
,
108 const wxPoint
& pos
= wxDefaultPosition
,
109 const wxSize
& size
= wxDefaultSize
,
110 long style
= wxBU_AUTODRAW
,
111 const wxValidator
& validator
= wxDefaultValidator
,
112 const wxString
& name
= wxButtonNameStr
);
115 Destructor, destroying the button.
117 virtual ~wxBitmapButton();
120 Button creation function for two-step creation.
121 For more details, see wxBitmapButton().
123 bool Create(wxWindow
* parent
, wxWindowID id
,
124 const wxBitmap
& bitmap
,
125 const wxPoint
& pos
= wxDefaultPosition
,
126 const wxSize
& size
= wxDefaultSize
,
127 long style
= wxBU_AUTODRAW
,
128 const wxValidator
& validator
= wxDefaultValidator
,
129 const wxString
& name
= wxButtonNameStr
);
133 Returns the bitmap for the disabled state, which may be invalid.
135 @return A reference to the disabled state bitmap.
137 @see SetBitmapDisabled()
139 const wxBitmap
& GetBitmapDisabled() const;
140 wxBitmap
& GetBitmapDisabled();
145 Returns the bitmap for the focused state, which may be invalid.
147 @return A reference to the focused state bitmap.
149 @see SetBitmapFocus()
151 const wxBitmap
& GetBitmapFocus() const;
152 wxBitmap
& GetBitmapFocus();
157 Returns the bitmap used when the mouse is over the button, which may be invalid.
159 @see SetBitmapHover()
161 const wxBitmap
& GetBitmapHover() const;
162 wxBitmap
& GetBitmapHover();
167 Returns the label bitmap (the one passed to the constructor), always valid.
169 @return A reference to the button's label bitmap.
171 @see SetBitmapLabel()
173 const wxBitmap
& GetBitmapLabel() const;
174 wxBitmap
& GetBitmapLabel();
178 Returns the bitmap for the selected state.
180 @return A reference to the selected state bitmap.
182 @see SetBitmapSelected()
184 const wxBitmap
& GetBitmapSelected() const;
187 Sets the bitmap for the disabled button appearance.
192 @see GetBitmapDisabled(), SetBitmapLabel(),
193 SetBitmapSelected(), SetBitmapFocus()
195 virtual void SetBitmapDisabled(const wxBitmap
& bitmap
);
198 Sets the bitmap for the button appearance when it has the keyboard focus.
203 @see GetBitmapFocus(), SetBitmapLabel(),
204 SetBitmapSelected(), SetBitmapDisabled()
206 virtual void SetBitmapFocus(const wxBitmap
& bitmap
);
209 Sets the bitmap to be shown when the mouse is over the button.
213 The hover bitmap is currently only supported in wxMSW.
215 @see GetBitmapHover()
217 virtual void SetBitmapHover(const wxBitmap
& bitmap
);
220 Sets the bitmap label for the button.
223 The bitmap label to set.
225 @remarks This is the bitmap used for the unselected state, and for all
226 other states if no other bitmaps are provided.
228 @see GetBitmapLabel()
230 virtual void SetBitmapLabel(const wxBitmap
& bitmap
);
233 Sets the bitmap for the selected (depressed) button appearance.
238 virtual void SetBitmapSelected(const wxBitmap
& bitmap
);