From: Zhiyi Zhang zzhang@codeweavers.com
--- dlls/comctl32/tab.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c index 535fac11120..9d5190696c7 100644 --- a/dlls/comctl32/tab.c +++ b/dlls/comctl32/tab.c @@ -2293,6 +2293,20 @@ static void TAB_DrawItem(const TAB_INFO *infoPtr, HDC hdc, INT iItem) } }
+static void TAB_DrawBorderBackground(const TAB_INFO *infoPtr, HDC hdc, RECT *rect) +{ + HTHEME theme = GetWindowTheme(infoPtr->hwnd); + + if (theme) + { + DrawThemeParentBackground(infoPtr->hwnd, hdc, rect); + DrawThemeBackground(theme, hdc, TABP_PANE, 0, rect, NULL); + return; + } + + DrawEdge(hdc, rect, EDGE_RAISED, BF_SOFT | BF_RECT); +} + /****************************************************************************** * TAB_DrawBorder * @@ -2302,7 +2316,6 @@ static void TAB_DrawItem(const TAB_INFO *infoPtr, HDC hdc, INT iItem) static void TAB_DrawBorder(const TAB_INFO *infoPtr, HDC hdc) { RECT rect; - HTHEME theme = GetWindowTheme (infoPtr->hwnd);
GetClientRect (infoPtr->hwnd, &rect);
@@ -2324,15 +2337,7 @@ static void TAB_DrawBorder(const TAB_INFO *infoPtr, HDC hdc)
TRACE("border=(%s)\n", wine_dbgstr_rect(&rect));
- if (theme) - { - DrawThemeParentBackground(infoPtr->hwnd, hdc, &rect); - DrawThemeBackground (theme, hdc, TABP_PANE, 0, &rect, NULL); - } - else - { - DrawEdge(hdc, &rect, EDGE_RAISED, BF_SOFT|BF_RECT); - } + TAB_DrawBorderBackground(infoPtr, hdc, &rect); }
/******************************************************************************