From: Vadim Zeitlin Date: Sun, 12 Dec 2004 19:44:52 +0000 (+0000) Subject: added MSWGetDefaultBgBrush() to allow some derived classes to use transparent brush... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/d34e375c9c54f7fc655de69591dee4d5f8bb7193 added MSWGetDefaultBgBrush() to allow some derived classes to use transparent brush for erasing background git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/msw/control.h b/include/wx/msw/control.h index 574d84a74b..960c3a9948 100644 --- a/include/wx/msw/control.h +++ b/include/wx/msw/control.h @@ -133,6 +133,15 @@ protected: // common part of the 3 methods above WXHBRUSH MSWControlColorSolid(WXHDC pDC, wxColour colBg); + // another WM_CTLCOLOR-related function: override this to return the brush + // which should be used to paint the control background by default + // + // for most controls, the default behaviour of returning 0 and letting the + // system do it is correct, but for some -- e.g. checkboxes -- we actually + // have to return transparent brush from here to prevent the system from + // overwriting background with solid colour + virtual WXHBRUSH MSWGetDefaultBgBrush() { return 0; } + // 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 diff --git a/src/msw/control.cpp b/src/msw/control.cpp index fa80b56493..7dc54a5114 100644 --- a/src/msw/control.cpp +++ b/src/msw/control.cpp @@ -382,7 +382,7 @@ WXHBRUSH wxControl::MSWControlColor(WXHDC pDC) #endif // wxUSE_UXTHEME // let the control deal with background itself - return 0; + return MSWGetDefaultBgBrush(); } WXHBRUSH wxControl::MSWControlColorDisabled(WXHDC pDC)