Fix for toolbar workaround (mustn't set flag unless we're in Classic mode

or we get separators showing)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2004-08-02 09:50:03 +00:00
parent fb785edf4c
commit d679df70f0

View File

@@ -46,6 +46,10 @@
#include "wx/msw/private.h"
#if wxUSE_UXTHEME
#include "wx/msw/uxtheme.h"
#endif
// include <commctrl.h> "properly"
#include "wx/msw/wrapcctl.h"
@@ -247,18 +251,25 @@ bool wxToolBar::Create(wxWindow *parent,
SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
// workaround for flat toolbar on Windows XP classic style
#if wxUSE_UXTHEME
if ( style & wxTB_FLAT )
{
DWORD dwToolbarStyle;
dwToolbarStyle = (DWORD)::SendMessage(GetHwnd(), TB_GETSTYLE, 0, 0L );
if ((dwToolbarStyle & TBSTYLE_FLAT) == 0)
wxUxThemeEngine *p = wxUxThemeEngine::Get();
if ( !p || !p->IsThemeActive() )
{
dwToolbarStyle |= TBSTYLE_FLAT;
::SendMessage(GetHwnd(), TB_SETSTYLE, 0, (LPARAM)dwToolbarStyle );
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;
}