]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/statbox.cpp
Rework the wxCusor ctor taking wx stock number to provide as many cursors as
[wxWidgets.git] / src / msw / statbox.cpp
index ffb1b61f2de70d0d21f7bcb75f70b337a0132b62..0d4df55d134be0bcf1fac94128fdca2891fc4bfe 100644 (file)
@@ -483,19 +483,30 @@ void wxStaticBox::PaintForeground(wxDC& dc, const RECT& rc)
         dimensions.right += 2;
         dimensions.bottom += 2;
 
         dimensions.right += 2;
         dimensions.bottom += 2;
 
-        PaintBackground(dc, dimensions);
+        if ( UseBgCol() )
+        {
+            // our own background colour should be used for the background of
+            // the label: this is consistent with the behaviour under pre-XP
+            // systems (i.e. without visual themes) and generally makes sense
+            wxBrush brush = wxBrush(GetBackgroundColour());
+            ::FillRect(GetHdcOf(dc), &dimensions, GetHbrushOf(brush));
+        }
+        else // paint parent background
+        {
+            PaintBackground(dc, dimensions);
+        }
 
         // now draw the text
         if ( !rtl )
         {
             RECT rc2 = { x, 0, x + width, y };
 
         // now draw the text
         if ( !rtl )
         {
             RECT rc2 = { x, 0, x + width, y };
-            ::DrawText(hdc, label, label.length(), &rc2,
+            ::DrawText(hdc, label.wx_str(), label.length(), &rc2,
                        DT_SINGLELINE | DT_VCENTER);
         }
         else // RTL
         {
             RECT rc2 = { x, 0, x - width, y };
                        DT_SINGLELINE | DT_VCENTER);
         }
         else // RTL
         {
             RECT rc2 = { x, 0, x - width, y };
-            ::DrawText(hdc, label, label.length(), &rc2,
+            ::DrawText(hdc, label.wx_str(), label.length(), &rc2,
                        DT_SINGLELINE | DT_VCENTER | DT_RTLREADING);
         }
     }
                        DT_SINGLELINE | DT_VCENTER | DT_RTLREADING);
         }
     }