fixed XP sash rendering to really do something (using REBAR style didn't work but it was hidden because background was erased anyhow)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b8335252d2
commit
6421119dd5
@ -144,43 +144,40 @@ wxRendererXP::DrawSplitterSash(wxWindow *win,
|
||||
wxOrientation orient,
|
||||
int flags)
|
||||
{
|
||||
if (win->GetWindowStyle() & wxSP_NO_XP_THEME)
|
||||
if ( !win->HasFlag(wxSP_NO_XP_THEME) )
|
||||
{
|
||||
m_rendererNative.DrawSplitterSash(
|
||||
win, dc, size, position, orient, flags);
|
||||
return;
|
||||
wxUxThemeHandle hTheme(win, L"WINDOW");
|
||||
if ( hTheme )
|
||||
{
|
||||
RECT rect;
|
||||
if ( orient == wxVERTICAL )
|
||||
{
|
||||
rect.left = position;
|
||||
rect.right = position + SASH_WIDTH;
|
||||
rect.top = 0;
|
||||
rect.bottom = size.y;
|
||||
}
|
||||
else // wxHORIZONTAL
|
||||
{
|
||||
rect.left = 0;
|
||||
rect.right = size.x;
|
||||
rect.top = position;
|
||||
rect.bottom = position + SASH_WIDTH;
|
||||
}
|
||||
|
||||
wxUxThemeEngine::Get()->DrawThemeBackground
|
||||
(
|
||||
(WXHTHEME)hTheme,
|
||||
dc.GetHDC(),
|
||||
29, // WP_DIALOG: dlg background
|
||||
0, // no particular state
|
||||
&rect,
|
||||
NULL
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// I don't know if it is correct to use the rebar background for the
|
||||
// splitter but it least this works ok in the default theme
|
||||
wxUxThemeHandle hTheme(win, L"REBAR");
|
||||
if ( hTheme )
|
||||
{
|
||||
RECT rect;
|
||||
if ( orient == wxVERTICAL )
|
||||
{
|
||||
rect.left = position;
|
||||
rect.right = position + SASH_WIDTH;
|
||||
rect.top = 0;
|
||||
rect.bottom = size.y;
|
||||
}
|
||||
else // wxHORIZONTAL
|
||||
{
|
||||
rect.left = 0;
|
||||
rect.right = size.x;
|
||||
rect.top = position;
|
||||
rect.bottom = position + SASH_WIDTH;
|
||||
}
|
||||
|
||||
wxUxThemeEngine::Get()->DrawThemeBackground
|
||||
(
|
||||
(WXHTHEME)hTheme,
|
||||
dc.GetHDC(),
|
||||
3 /* RP_BAND */,
|
||||
0 /* no state */ ,
|
||||
&rect,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
m_rendererNative.DrawSplitterSash(win, dc, size, position, orient, flags);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user