From 138580f9c63038c18d92abb64f913510dbc72e29 Mon Sep 17 00:00:00 2001 From: Rafal Harabien Date: Tue, 14 Feb 2012 00:58:59 +0000 Subject: [PATCH] [COMCTL32] - Draw shadow if item has focus but isn't selected svn path=/trunk/; revision=55586 --- reactos/dll/win32/comctl32/comctl32_ros.diff | 20 ++++++++++++++++---- reactos/dll/win32/comctl32/listview.c | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/reactos/dll/win32/comctl32/comctl32_ros.diff b/reactos/dll/win32/comctl32/comctl32_ros.diff index bd3adb639d5..367bf2d6836 100644 --- a/reactos/dll/win32/comctl32/comctl32_ros.diff +++ b/reactos/dll/win32/comctl32/comctl32_ros.diff @@ -296,7 +296,19 @@ Index: listview.c } /* Listview invalidation functions: use _only_ these functions to invalidate */ -@@ -5117,7 +5129,11 @@ +@@ -4698,7 +4710,10 @@ + if (infoPtr->uView == LV_VIEW_DETAILS && infoPtr->dwLvExStyle & LVS_EX_GRIDLINES) + rcLabel.bottom--; + +- DrawTextW(hdc, lvItem.pszText, -1, &rcLabel, uFormat); ++ if ((!(lvItem.state & LVIS_SELECTED) || !infoPtr->bFocus) && (infoPtr->dwLvExStyle & LVS_EX_TRANSPARENTSHADOWTEXT)) ++ DrawShadowText(hdc, lvItem.pszText, -1, &rcLabel, uFormat, RGB(255, 255, 255), RGB(0, 0, 0), 2, 2); ++ else ++ DrawTextW(hdc, lvItem.pszText, -1, &rcLabel, uFormat); + + postpaint: + if (cdsubitemmode & CDRF_NOTIFYPOSTPAINT) +@@ -5117,7 +5132,11 @@ /* Draw marquee rectangle if appropriate */ if (infoPtr->bMarqueeSelect) @@ -308,7 +320,7 @@ Index: listview.c if (cdmode & CDRF_NOTIFYPOSTPAINT) notify_postpaint(infoPtr, &nmlvcd); -@@ -7927,6 +7943,7 @@ +@@ -7927,6 +7946,7 @@ { TRACE("(color=%x)\n", color); @@ -316,7 +328,7 @@ Index: listview.c if(infoPtr->clrBk != color) { if (infoPtr->clrBk != CLR_NONE) DeleteObject(infoPtr->hBkBrush); infoPtr->clrBk = color; -@@ -9314,6 +9331,7 @@ +@@ -9314,6 +9334,7 @@ infoPtr->clrText = CLR_DEFAULT; infoPtr->clrTextBk = CLR_DEFAULT; LISTVIEW_SetBkColor(infoPtr, comctl32_color.clrWindow); @@ -324,7 +336,7 @@ Index: listview.c /* set default values */ infoPtr->nFocusedItem = -1; -@@ -11570,6 +11588,12 @@ +@@ -11570,6 +11591,12 @@ case WM_SYSCOLORCHANGE: COMCTL32_RefreshSysColors(); diff --git a/reactos/dll/win32/comctl32/listview.c b/reactos/dll/win32/comctl32/listview.c index 266d3979de7..ecb24446d4d 100644 --- a/reactos/dll/win32/comctl32/listview.c +++ b/reactos/dll/win32/comctl32/listview.c @@ -4710,7 +4710,7 @@ static BOOL LISTVIEW_DrawItem(LISTVIEW_INFO *infoPtr, HDC hdc, INT nItem, INT nS if (infoPtr->uView == LV_VIEW_DETAILS && infoPtr->dwLvExStyle & LVS_EX_GRIDLINES) rcLabel.bottom--; - if (!lprcFocus && (infoPtr->dwLvExStyle & LVS_EX_TRANSPARENTSHADOWTEXT)) + if ((!(lvItem.state & LVIS_SELECTED) || !infoPtr->bFocus) && (infoPtr->dwLvExStyle & LVS_EX_TRANSPARENTSHADOWTEXT)) DrawShadowText(hdc, lvItem.pszText, -1, &rcLabel, uFormat, RGB(255, 255, 255), RGB(0, 0, 0), 2, 2); else DrawTextW(hdc, lvItem.pszText, -1, &rcLabel, uFormat);