]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tbar95.cpp
Better fix
[wxWidgets.git] / src / msw / tbar95.cpp
index 21ab3d581f57d818c867407bfaf675744d9337c2..16ebe1ffc1e571455afdd10fc5bfc5c56fada6e5 100644 (file)
@@ -47,6 +47,7 @@
 #include "wx/dcclient.h"
 
 #include "wx/msw/private.h"
+#include "wx/msw/dc.h"
 
 #if wxUSE_UXTHEME
 #include "wx/msw/uxtheme.h"
@@ -804,8 +805,8 @@ bool wxToolBar::Realize()
                 TBREPLACEBITMAP replaceBitmap;
                 replaceBitmap.hInstOld = NULL;
                 replaceBitmap.hInstNew = NULL;
-                replaceBitmap.nIDOld = (UINToldToolBarBitmap;
-                replaceBitmap.nIDNew = (UINThBitmap;
+                replaceBitmap.nIDOld = (UINT_PTR)oldToolBarBitmap;
+                replaceBitmap.nIDNew = (UINT_PTR)hBitmap;
                 replaceBitmap.nButtons = nButtons;
                 if ( !::SendMessage(GetHwnd(), TB_REPLACEBITMAP,
                                     0, (LPARAM) &replaceBitmap) )
@@ -834,7 +835,7 @@ bool wxToolBar::Realize()
         {
             TBADDBITMAP addBitmap;
             addBitmap.hInst = 0;
-            addBitmap.nID = (UINThBitmap;
+            addBitmap.nID = (UINT_PTR)hBitmap;
             if ( ::SendMessage(GetHwnd(), TB_ADDBITMAP,
                                (WPARAM) nButtons, (LPARAM)&addBitmap) == -1 )
             {
@@ -914,7 +915,7 @@ bool wxToolBar::Realize()
                 {
                     const wxString& label = tool->GetLabel();
                     if ( !label.empty() )
-                        button.iString = (int)label.wx_str();
+                        button.iString = (INT_PTR)label.wx_str();
                 }
 
                 button.idCommand = tool->GetId();
@@ -1592,7 +1593,10 @@ void wxToolBar::OnEraseBackground(wxEraseEvent& event)
 
 #endif // wxUSE_UXTHEME
 
-    if ( UseBgCol() || (GetMSWToolbarStyle() & TBSTYLE_TRANSPARENT) )
+    // we need to always draw our background under XP, as otherwise it doesn't
+    // appear correctly with some themes (e.g. Zune one)
+    if ( majorVersion == 5 ||
+            UseBgCol() || (GetMSWToolbarStyle() & TBSTYLE_TRANSPARENT) )
     {
         // do draw our background
         //