It may be placed on a \helpref{dialog box}{wxdialog} or \helpref{panel}{wxpanel}, or indeed
almost any other window.
+
\wxheading{Derived from}
\helpref{wxButton}{wxbutton}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
+
\wxheading{Include files}
<wx/bmpbuttn.h>
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
+
\wxheading{Remarks}
A bitmap button can be supplied with a single bitmap, and wxWidgets will draw
all button states using this bitmap. If the application needs more control, additional bitmaps for
the selected state, unpressed focused state, and greyed-out state may be supplied.
+
+\wxheading{Button states}
+
+This class supports bitmaps for several different states:
+
+\twocolwidtha{5cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\windowstyle{normal}}{This is the bitmap shown in the default state,
+it must be always valid while all the other bitmaps are optional and don't have
+to be set.}
+\twocolitem{\windowstyle{disabled}}{Bitmap shown when the button is disabled.}
+\twocolitem{\windowstyle{selected}}{Bitmap shown when the button is pushed
+(e.g. while the user keeps the mouse button pressed on it)}
+\twocolitem{\windowstyle{focus}}{Bitmap shown when the button has keyboard
+focus but is not pressed.}
+\twocolitem{\windowstyle{hover}}{Bitmap shown when the mouse is over the
+button (but it is not pressed). Notice that if hover bitmap is not specified
+but the current platform UI uses hover images for the buttons (such as Windows
+XP or GTK+), then the focus bitmap is used for hover state as well. This makes
+it possible to set focus bitmap only to get reasonably good behaviour on all
+platforms.}
+\end{twocollist}
+
+
\wxheading{Window styles}
\twocolwidtha{5cm}
See also \helpref{window styles overview}{windowstyles}.
+
\wxheading{Event handling}
\twocolwidtha{7cm}
when the button is clicked.}
\end{twocollist}
+
\wxheading{See also}
\helpref{wxButton}{wxbutton}
+
+
\latexignore{\rtfignore{\wxheading{Members}}}
+
\membersection{wxBitmapButton::wxBitmapButton}\label{wxbitmapbuttonctor}
\func{}{wxBitmapButton}{\void}
\helpref{wxBitmapButton::Create}{wxbitmapbuttoncreate}, \helpref{wxValidator}{wxvalidator}
+
\membersection{wxBitmapButton::\destruct{wxBitmapButton}}\label{wxbitmapbuttondtor}
\func{}{\destruct{wxBitmapButton}}{\void}
Destructor, destroying the button.
+
\membersection{wxBitmapButton::Create}\label{wxbitmapbuttoncreate}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxBitmap\& }{bitmap},\rtfsp
Button creation function for two-step creation. For more details, see \helpref{wxBitmapButton::wxBitmapButton}{wxbitmapbuttonctor}.
+
\membersection{wxBitmapButton::GetBitmapDisabled}\label{wxbitmapbuttongetbitmapdisabled}
-\constfunc{wxBitmap\&}{GetBitmapDisabled}{\void}
+\constfunc{const wxBitmap\&}{GetBitmapDisabled}{\void}
+\func{wxBitmap\&}{GetBitmapDisabled}{\void}
-Returns the bitmap for the disabled state.
+Returns the bitmap for the disabled state, may be invalid.
\wxheading{Return value}
\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}
+
\membersection{wxBitmapButton::GetBitmapFocus}\label{wxbitmapbuttongetbitmapfocus}
-\constfunc{wxBitmap\&}{GetBitmapFocus}{\void}
+\constfunc{const wxBitmap\&}{GetBitmapFocus}{\void}
+\func{wxBitmap\&}{GetBitmapFocus}{\void}
-Returns the bitmap for the focused state.
+Returns the bitmap for the focused state, may be invalid.
\wxheading{Return value}
\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus}
+
+\membersection{wxBitmapButton::GetBitmapHover}\label{wxbitmapbuttongetbitmaphover}
+
+\constfunc{const wxBitmap\&}{GetBitmapHover}{\void}
+\func{wxBitmap\&}{GetBitmapHover}{\void}
+
+Returns the bitmap used when the mouse is over the button, may be invalid.
+
+\wxheading{See also}
+
+\helpref{wxBitmapButton::SetBitmapHover}{wxbitmapbuttonsetbitmaphover}
+
+
\membersection{wxBitmapButton::GetBitmapLabel}\label{wxbitmapbuttongetbitmaplabel}
-\constfunc{wxBitmap\&}{GetBitmapLabel}{\void}
+\constfunc{const wxBitmap\&}{GetBitmapLabel}{\void}
+\func{wxBitmap\&}{GetBitmapLabel}{\void}
-Returns the label bitmap (the one passed to the constructor).
+Returns the label bitmap (the one passed to the constructor), always valid.
\wxheading{Return value}
\helpref{wxBitmapButton::SetBitmapLabel}{wxbitmapbuttonsetbitmaplabel}
+
\membersection{wxBitmapButton::GetBitmapSelected}\label{wxbitmapbuttongetbitmapselected}
\constfunc{wxBitmap\&}{GetBitmapSelected}{\void}
\helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected}
+
\membersection{wxBitmapButton::SetBitmapDisabled}\label{wxbitmapbuttonsetbitmapdisabled}
\func{void}{SetBitmapDisabled}{\param{const wxBitmap\& }{bitmap}}
\helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected},\rtfsp
\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus}
+
\membersection{wxBitmapButton::SetBitmapFocus}\label{wxbitmapbuttonsetbitmapfocus}
\func{void}{SetBitmapFocus}{\param{const wxBitmap\& }{bitmap}}
\helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected},\rtfsp
\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}
+
+\membersection{wxBitmapButton::SetBitmapHover}\label{wxbitmapbuttonsetbitmaphover}
+
+\func{void}{SetBitmapHover}{\param{const wxBitmap\& }{bitmap}}
+
+Sets the bitmap to be shown when the mouse is over the button.
+
+\newsince{2.7.0} and the hover bitmap is currently only supported in wxMSW.
+
+\wxheading{See also}
+
+\helpref{wxBitmapButton::GetBitmapHover}{wxbitmapbuttongetbitmaphover}
+
\membersection{wxBitmapButton::SetBitmapLabel}\label{wxbitmapbuttonsetbitmaplabel}
\func{void}{SetBitmapLabel}{\param{const wxBitmap\& }{bitmap}}
\helpref{wxBitmapButton::GetBitmapLabel}{wxbitmapbuttongetbitmaplabel}
+
\membersection{wxBitmapButton::SetBitmapSelected}\label{wxbitmapbuttonsetbitmapselected}
\func{void}{SetBitmapSelected}{\param{const wxBitmap\& }{bitmap}}