1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/button.h
3 // Purpose: wxButton class
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
15 // ----------------------------------------------------------------------------
17 // ----------------------------------------------------------------------------
19 class WXDLLIMPEXP_CORE wxButton
: public wxButtonBase
23 wxButton(wxWindow
*parent
,
25 const wxString
& label
= wxEmptyString
,
26 const wxPoint
& pos
= wxDefaultPosition
,
27 const wxSize
& size
= wxDefaultSize
,
29 const wxValidator
& validator
= wxDefaultValidator
,
30 const wxString
& name
= wxButtonNameStr
)
32 Create(parent
, id
, label
, pos
, size
, style
, validator
, name
);
35 bool Create(wxWindow
*parent
,
37 const wxString
& label
= wxEmptyString
,
38 const wxPoint
& pos
= wxDefaultPosition
,
39 const wxSize
& size
= wxDefaultSize
,
41 const wxValidator
& validator
= wxDefaultValidator
,
42 const wxString
& name
= wxButtonNameStr
);
46 virtual wxWindow
*SetDefault();
48 // overridden base class methods
49 virtual void SetLabel(const wxString
& label
);
50 virtual bool SetBackgroundColour(const wxColour
&colour
);
51 virtual bool SetForegroundColour(const wxColour
&colour
);
53 // implementation from now on
54 virtual void Command(wxCommandEvent
& event
);
55 virtual WXLRESULT
MSWWindowProc(WXUINT nMsg
, WXWPARAM wParam
, WXLPARAM lParam
);
56 virtual bool MSWCommand(WXUINT param
, WXWORD id
);
58 virtual bool MSWOnDraw(WXDRAWITEMSTRUCT
*item
);
59 virtual WXDWORD
MSWGetStyle(long style
, WXDWORD
*exstyle
) const;
61 // returns true if the platform should explicitly apply a theme border
62 virtual bool CanApplyThemeBorder() const { return false; }
65 void MakeOwnerDrawn();
68 // send a notification event, return true if processed
69 bool SendClickEvent();
71 // default button handling
73 void UnsetTmpDefault();
75 // set or unset BS_DEFPUSHBUTTON style
76 static void SetDefaultStyle(wxButton
*btn
, bool on
);
78 // usually overridden base class virtuals
79 virtual wxSize
DoGetBestSize() const;
82 DECLARE_DYNAMIC_CLASS_NO_COPY(wxButton
)
85 #endif // _WX_BUTTON_H_