From 6421119dd5b15a212827e925c912ac22d167bf34 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 15 Nov 2004 19:17:45 +0000 Subject: [PATCH] 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 --- src/msw/renderer.cpp | 65 +++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/src/msw/renderer.cpp b/src/msw/renderer.cpp index 03fb026c85..9b83f01338 100644 --- a/src/msw/renderer.cpp +++ b/src/msw/renderer.cpp @@ -144,43 +144,40 @@ wxRendererXP::DrawSplitterSash(wxWindow *win, wxOrientation orient, int flags) { - if (win->GetWindowStyle() & wxSP_NO_XP_THEME) - { - m_rendererNative.DrawSplitterSash( - win, dc, size, position, orient, flags); - 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 ) + if ( !win->HasFlag(wxSP_NO_XP_THEME) ) { - RECT rect; - if ( orient == wxVERTICAL ) + wxUxThemeHandle hTheme(win, L"WINDOW"); + if ( hTheme ) { - rect.left = position; - rect.right = position + SASH_WIDTH; - rect.top = 0; - rect.bottom = size.y; + 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; } - 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); } -- 2.45.2