///////////////////////////////////////////////////////////////////////////// // Name: wx/msw/button.h // Purpose: wxButton class // Author: Julian Smart // Modified by: // Created: 01/02/97 // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_MSW_BUTTON_H_ #define _WX_MSW_BUTTON_H_ // ---------------------------------------------------------------------------- // Pushbutton // ---------------------------------------------------------------------------- class WXDLLIMPEXP_CORE wxButton : public wxButtonBase { public: wxButton() { Init(); } wxButton(wxWindow *parent, wxWindowID id, const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxASCII_STR(wxButtonNameStr)) { Init(); Create(parent, id, label, pos, size, style, validator, name); } bool Create(wxWindow *parent, wxWindowID id, const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxASCII_STR(wxButtonNameStr)); virtual ~wxButton(); virtual wxWindow *SetDefault() wxOVERRIDE; // implementation from now on virtual void Command(wxCommandEvent& event) wxOVERRIDE; virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) wxOVERRIDE; virtual bool MSWCommand(WXUINT param, WXWORD id) wxOVERRIDE; virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const wxOVERRIDE; protected: // send a notification event, return true if processed bool SendClickEvent(); // default button handling void SetTmpDefault(); void UnsetTmpDefault(); // set or unset BS_DEFPUSHBUTTON style static void SetDefaultStyle(wxButton *btn, bool on); virtual bool DoGetAuthNeeded() const wxOVERRIDE; virtual void DoSetAuthNeeded(bool show) wxOVERRIDE; // true if the UAC symbol is shown bool m_authNeeded; private: void Init() { m_authNeeded = false; } void OnCharHook(wxKeyEvent& event); wxDECLARE_EVENT_TABLE(); wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxButton); }; #endif // _WX_MSW_BUTTON_H_