comctl32/treeview: Draw parent background before drawing control parts.
Fix residual glyphs on background when drawing treeview buttons with themes that contains transparent button glyphs. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
f8671aaedd
commit
02bfec6419
|
@ -2901,6 +2901,7 @@ TREEVIEW_Refresh(TREEVIEW_INFO *infoPtr, HDC hdc, const RECT *rc)
|
|||
HWND hwnd = infoPtr->hwnd;
|
||||
RECT rect = *rc;
|
||||
TREEVIEW_ITEM *item;
|
||||
HTHEME theme;
|
||||
|
||||
if (infoPtr->clientHeight == 0 || infoPtr->clientWidth == 0)
|
||||
{
|
||||
|
@ -2917,6 +2918,12 @@ TREEVIEW_Refresh(TREEVIEW_INFO *infoPtr, HDC hdc, const RECT *rc)
|
|||
return;
|
||||
}
|
||||
|
||||
if (infoPtr->dwStyle & TVS_HASBUTTONS && (theme = GetWindowTheme(infoPtr->hwnd)))
|
||||
{
|
||||
if (IsThemeBackgroundPartiallyTransparent(theme, TVP_GLYPH, 0))
|
||||
DrawThemeParentBackground(infoPtr->hwnd, hdc, NULL);
|
||||
}
|
||||
|
||||
for (item = infoPtr->root->firstChild;
|
||||
item != NULL;
|
||||
item = TREEVIEW_GetNextListItem(infoPtr, item))
|
||||
|
|
Loading…
Reference in New Issue