]> git.saurik.com Git - wxWidgets.git/commitdiff
added MSWAlwaysDrawBg() to account for controls such as sliders which must not draw...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 11 Dec 2004 23:34:15 +0000 (23:34 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 11 Dec 2004 23:34:15 +0000 (23:34 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/control.h
src/msw/control.cpp

index 574d84a74b1dfa94307ad9f58faa6319ee24d88e..c3bd297ea4c134d617aa71d32488c581629a05ef 100644 (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
index 30bc08f49805b45ea0428e4bf5ab2bd4c377ef6a..96547014e943bb3464b074ec8bfd91681038ab06 100644 (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)