]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix for radiobox controls backgrounds being drawn incorrectly on an unthemed
authorJulian Smart <julian@anthemion.co.uk>
Wed, 27 Apr 2005 15:32:11 +0000 (15:32 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Wed, 27 Apr 2005 15:32:11 +0000 (15:32 +0000)
(solid colour) wxNotebook

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/notebook.cpp

index 925dee0c9ad3259c508968efbec1bbb25cd2bb36..c8663ee71d0afb2cc80b9aa24cb0c1358adba308 100644 (file)
@@ -1116,6 +1116,29 @@ bool wxNotebook::MSWPrintChild(WXHDC hDC, wxWindow *child)
     if ( !UseBgCol() && DoDrawBackground(hDC, child) )
         return true;
 
     if ( !UseBgCol() && DoDrawBackground(hDC, child) )
         return true;
 
+    // If we're using a solid colour (for example if we've switched off
+    // theming for this notebook), paint it
+    if (UseBgCol())
+    {
+        wxRect r = GetPageSize();
+        if ( r.IsEmpty() )
+            return false;
+
+        RECT rc;
+        wxCopyRectToRECT(r, rc);
+
+        // map rect to the coords of the window we're drawing in
+        if ( child )
+            ::MapWindowPoints(GetHwnd(), GetHwndOf(child), (POINT *)&rc, 2);
+
+        wxBrush brush(GetBackgroundColour());
+        HBRUSH hbr = GetHbrushOf(brush);
+       
+        ::FillRect((HDC) hDC, &rc, hbr);
+
+        return true;
+    }
+
     return wxNotebookBase::MSWPrintChild(hDC, child);
 }
 
     return wxNotebookBase::MSWPrintChild(hDC, child);
 }