]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tbar95.cpp
Source cleaning: whitespaces,-1/wxID_ANY,TRUE/true,FALSE/false.
[wxWidgets.git] / src / msw / tbar95.cpp
index 83fcc8a1e6c8818684fe2ab79ad44252ffe20872..944a1d0b27c530fbd1a25535edf872d403de76a0 100644 (file)
 
 #include "wx/msw/private.h"
 
+#if wxUSE_UXTHEME
+#include "wx/msw/uxtheme.h"
+#endif
+
 // include <commctrl.h> "properly"
 #include "wx/msw/wrapcctl.h"
 
@@ -246,6 +250,26 @@ bool wxToolBar::Create(wxWindow *parent,
     SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_MENUBAR));
     SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
 
+    // workaround for flat toolbar on Windows XP classic style
+#if wxUSE_UXTHEME
+    if ( style & wxTB_FLAT )
+    {
+        wxUxThemeEngine *p = wxUxThemeEngine::Get();
+        if ( !p || !p->IsThemeActive() )
+        {
+            DWORD dwToolbarStyle;
+
+            dwToolbarStyle = (DWORD)::SendMessage(GetHwnd(), TB_GETSTYLE, 0, 0L );
+        
+            if ((dwToolbarStyle & TBSTYLE_FLAT) == 0)
+            {
+                dwToolbarStyle |= TBSTYLE_FLAT;
+                ::SendMessage(GetHwnd(), TB_SETSTYLE, 0, (LPARAM)dwToolbarStyle );
+            }
+        }
+    }
+#endif
+    
     return TRUE;
 }
 
@@ -256,7 +280,7 @@ bool wxToolBar::MSWCreateToolbar(const wxPoint& pos, const wxSize& size)
 
     // toolbar-specific post initialisation
     ::SendMessage(GetHwnd(), TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);
-
+    
     return TRUE;
 }