always set flat toolbar style, even under XP with themes: this is necessary or separators aren't shown at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -57,6 +57,7 @@ wxMSW:
|
|||||||
- Fixed ownerdrawn multiline buttons.
|
- Fixed ownerdrawn multiline buttons.
|
||||||
- wxCheckListBox item background fixed.
|
- wxCheckListBox item background fixed.
|
||||||
- Fixed some wxRegKey bugs.
|
- Fixed some wxRegKey bugs.
|
||||||
|
- Separators are now correctly shown in the toolbars under Windows XP
|
||||||
|
|
||||||
wxWinCE:
|
wxWinCE:
|
||||||
|
|
||||||
|
@@ -242,31 +242,20 @@ bool wxToolBar::Create(wxWindow *parent,
|
|||||||
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE));
|
SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE));
|
||||||
SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
|
SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
|
||||||
|
|
||||||
// workaround for flat toolbar on Windows XP classic style
|
// workaround for flat toolbar on Windows XP classic style: we have to set
|
||||||
|
// the style after creating the control, doing it at creation time doesn't
|
||||||
|
// work
|
||||||
#if wxUSE_UXTHEME
|
#if wxUSE_UXTHEME
|
||||||
if ( style & wxTB_FLAT )
|
if ( style & wxTB_FLAT )
|
||||||
{
|
{
|
||||||
// Testing for an active theme appears to be unnecessary (see comments in patch 1204217).
|
LRESULT style = ::SendMessage(GetHwnd(), TB_GETSTYLE, 0, 0L);
|
||||||
// Disabling the test brings back separator lines.
|
|
||||||
// However, the separators can look ugly and distracting, especially between controls,
|
if ( !(style & TBSTYLE_FLAT) )
|
||||||
// so I'm restoring the test and removing the separators again - JACS
|
|
||||||
#if 1
|
|
||||||
wxUxThemeEngine *p = wxUxThemeEngine::Get();
|
|
||||||
if ( !p || !p->IsThemeActive() )
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
DWORD dwToolbarStyle;
|
::SendMessage(GetHwnd(), TB_SETSTYLE, 0, style | TBSTYLE_FLAT);
|
||||||
|
|
||||||
dwToolbarStyle = (DWORD)::SendMessage(GetHwnd(), TB_GETSTYLE, 0, 0L );
|
|
||||||
|
|
||||||
if ((dwToolbarStyle & TBSTYLE_FLAT) == 0)
|
|
||||||
{
|
|
||||||
dwToolbarStyle |= TBSTYLE_FLAT;
|
|
||||||
::SendMessage(GetHwnd(), TB_SETSTYLE, 0, (LPARAM)dwToolbarStyle );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif // wxUSE_UXTHEME
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user