From 9bdd21cad579de484b4aff56e8cf244495ea69aa Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Sun, 22 May 2011 11:29:51 +0400 Subject: [PATCH] comctl32/treeview: Correctly draw cut items. --- dlls/comctl32/treeview.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c index de4edf5134d..2388d3c03f6 100644 --- a/dlls/comctl32/treeview.c +++ b/dlls/comctl32/treeview.c @@ -33,7 +33,7 @@ * * missing styles: TVS_FULLROWSELECT, TVS_INFOTIP, TVS_RTLREADING, * - * missing item styles: TVIS_CUT, TVIS_EXPANDPARTIAL, TVIS_EX_FLAT, + * missing item styles: TVIS_EXPANDPARTIAL, TVIS_EX_FLAT, * TVIS_EX_DISABLED * * Make the insertion mark look right. @@ -2601,12 +2601,14 @@ TREEVIEW_DrawItem(const TREEVIEW_INFO *infoPtr, HDC hdc, TREEVIEW_ITEM *item) if (infoPtr->himlNormal) { - int ovlIdx = item->state & TVIS_OVERLAYMASK; + UINT style = item->state & TVIS_CUT ? ILD_SELECTED : ILD_NORMAL; - ImageList_Draw(infoPtr->himlNormal, imageIndex, hdc, - item->imageOffset, - centery - infoPtr->normalImageHeight / 2, - ILD_NORMAL | ovlIdx); + style |= item->state & TVIS_OVERLAYMASK; + + ImageList_DrawEx(infoPtr->himlNormal, imageIndex, hdc, + item->imageOffset, centery - infoPtr->normalImageHeight / 2, + 0, 0, infoPtr->clrBk, item->state & TVIS_CUT ? GETBKCOLOR(infoPtr->clrBk) : CLR_DEFAULT, + style); } } -- 2.11.4.GIT