1. wxLongLong and wxDateTime compilation fixed for the compilers without native
[wxWidgets.git] / include / wx / msw / button.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: button.h
3 // Purpose: wxButton class
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_BUTTON_H_
13 #define _WX_BUTTON_H_
14
15 #ifdef __GNUG__
16 #pragma interface "button.h"
17 #endif
18
19 #include "wx/control.h"
20
21 WXDLLEXPORT_DATA(extern const wxChar*) wxButtonNameStr;
22
23 // ----------------------------------------------------------------------------
24 // Pushbutton
25 // ----------------------------------------------------------------------------
26
27 class WXDLLEXPORT wxButton : public wxControl
28 {
29 DECLARE_DYNAMIC_CLASS(wxButton)
30
31 public:
32 wxButton() { }
33 wxButton(wxWindow *parent, wxWindowID id, const wxString& label,
34 const wxPoint& pos = wxDefaultPosition,
35 const wxSize& size = wxDefaultSize, long style = 0,
36 const wxValidator& validator = wxDefaultValidator,
37 const wxString& name = wxButtonNameStr)
38 {
39 Create(parent, id, label, pos, size, style, validator, name);
40 }
41
42 bool Create(wxWindow *parent, wxWindowID id, const wxString& label,
43 const wxPoint& pos = wxDefaultPosition,
44 const wxSize& size = wxDefaultSize, long style = 0,
45 const wxValidator& validator = wxDefaultValidator,
46 const wxString& name = wxButtonNameStr);
47
48 virtual ~wxButton();
49
50 virtual void SetDefault();
51
52 static wxSize GetDefaultSize();
53
54 // implementation from now on
55 virtual void Command(wxCommandEvent& event);
56 virtual long MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
57 virtual bool MSWCommand(WXUINT param, WXWORD id);
58
59 #ifdef __WIN32__
60 // coloured buttons support
61 virtual bool SetBackgroundColour(const wxColour &colour);
62 virtual bool SetForegroundColour(const wxColour &colour);
63
64 virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *item);
65
66 private:
67 void MakeOwnerDrawn();
68 #endif // __WIN32__
69
70 protected:
71 // send a notification event, return TRUE if processed
72 bool SendClickEvent();
73
74 virtual wxSize DoGetBestSize() const;
75 };
76
77 #endif
78 // _WX_BUTTON_H_