added MSWAlwaysDrawBg() to account for controls such as sliders which must not draw background with transparent brush no matter what

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-12-11 23:34:15 +00:00
parent 9688700c97
commit c5c4c31e6c
2 changed files with 9 additions and 1 deletions

View File

@ -133,6 +133,14 @@ protected:
// common part of the 3 methods above
WXHBRUSH MSWControlColorSolid(WXHDC pDC, wxColour colBg);
// another WM_CTLCOLOR-related function: if it returns false, we return
// NULL_BRUSH from MSWControlColor() to prevent the system from erasing the
// background at all
//
// override this function to return true for controls which do want to
// draw their background themselves
virtual bool MSWAlwaysDrawBg() const { return false; }
// this is a helper for the derived class GetClassDefaultAttributes()
// implementation: it returns the right colours for the classes which
// contain something else (e.g. wxListBox, wxTextCtrl, ...) instead of

View File

@ -371,7 +371,7 @@ WXHBRUSH wxControl::MSWControlColor(WXHDC pDC)
}
#endif // wxUSE_UXTHEME
return ::GetStockObject(NULL_BRUSH);
return MSWAlwaysDrawBg() ? 0 : ::GetStockObject(NULL_BRUSH);
}
WXHBRUSH wxControl::MSWControlColorDisabled(WXHDC pDC)