update the disabled buttons appearance when system colours change (followup to patch 1027243)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -59,8 +59,15 @@ public:
|
||||
protected:
|
||||
virtual wxSize DoGetBestSize() const;
|
||||
|
||||
// invalidate m_brushDisabled when system colours change
|
||||
void OnSysColourChanged(wxSysColourChangedEvent& event);
|
||||
|
||||
|
||||
// the brush we use to draw disabled buttons
|
||||
wxBrush m_brushDisabled;
|
||||
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxBitmapButton)
|
||||
};
|
||||
|
||||
|
@@ -89,6 +89,10 @@ wxCONSTRUCTOR_5( wxBitmapButton , wxWindow* , Parent , wxWindowID , Id , wxBitma
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
|
||||
#endif
|
||||
|
||||
BEGIN_EVENT_TABLE(wxBitmapButton, wxBitmapButtonBase)
|
||||
EVT_SYS_COLOUR_CHANGED(wxBitmapButton::OnSysColourChanged)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
/*
|
||||
TODO PROPERTIES :
|
||||
|
||||
@@ -183,6 +187,19 @@ bool wxBitmapButton::SetBackgroundColour(const wxColour& colour)
|
||||
return true;
|
||||
}
|
||||
|
||||
void wxBitmapButton::OnSysColourChanged(wxSysColourChangedEvent& event)
|
||||
{
|
||||
m_brushDisabled = wxNullBrush;
|
||||
|
||||
if ( !IsEnabled() )
|
||||
{
|
||||
// this change affects our current state
|
||||
Refresh();
|
||||
}
|
||||
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
// VZ: should be at the very least less than wxDEFAULT_BUTTON_MARGIN
|
||||
#define FOCUS_MARGIN 3
|
||||
|
||||
|
Reference in New Issue
Block a user