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/branches/WX_2_4_BRANCH@28586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2004-08-02 10:03:32 +00:00
parent 1e5931f6b2
commit d705c3aade

View File

@@ -53,6 +53,10 @@
#include "wx/msw/private.h"
#if wxUSE_UXTHEME
#include "wx/msw/uxtheme.h"
#endif
#ifndef __TWIN32__
#if defined(__WIN95__) && !((defined(__GNUWIN32_OLD__) || defined(__TWIN32__)) && !defined(__CYGWIN10__))
@@ -254,18 +258,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->m_pfnIsThemeActive() )
{
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;
}