Nikolay Sivov : comctl32/listview: Offset every but LVIR_BOUNDS rectangles to column bound in details view.

Alexandre Julliard julliard at winehq.org
Mon Aug 3 11:15:17 CDT 2009


Module: wine
Branch: master
Commit: ebdf2fd254b877b05b1d3b1a607c1ba5684a03be
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ebdf2fd254b877b05b1d3b1a607c1ba5684a03be

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Mon Aug  3 02:32:37 2009 +0400

comctl32/listview: Offset every but LVIR_BOUNDS rectangles to column bound in details view.

---

 dlls/comctl32/listview.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 59f70a2..ea96b8a 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -6258,6 +6258,7 @@ static BOOL LISTVIEW_GetItemRect(const LISTVIEW_INFO *infoPtr, INT nItem, LPRECT
     BOOL doLabel = TRUE, oversizedBox = FALSE;
     POINT Position, Origin;
     LVITEMW lvItem;
+    LONG mode;
 
     TRACE("(hwnd=%p, nItem=%d, lprc=%p)\n", infoPtr->hwndSelf, nItem, lprc);
 
@@ -6294,6 +6295,8 @@ static BOOL LISTVIEW_GetItemRect(const LISTVIEW_INFO *infoPtr, INT nItem, LPRECT
 
     if (infoPtr->uView == LV_VIEW_DETAILS && (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT) && lprc->left == LVIR_SELECTBOUNDS)
 	lprc->left = LVIR_BOUNDS;
+
+    mode = lprc->left;
     switch(lprc->left)
     {
     case LVIR_ICON:
@@ -6318,7 +6321,13 @@ static BOOL LISTVIEW_GetItemRect(const LISTVIEW_INFO *infoPtr, INT nItem, LPRECT
     }
 
     if (infoPtr->uView == LV_VIEW_DETAILS)
-        OffsetRect(lprc, Origin.x, Position.y + Origin.y);
+    {
+	if (mode != LVIR_BOUNDS)
+	    OffsetRect(lprc, Origin.x + LISTVIEW_GetColumnInfo(infoPtr, 0)->rcHeader.left,
+	                     Position.y + Origin.y);
+	else
+	    OffsetRect(lprc, Origin.x, Position.y + Origin.y);
+    }
     else
         OffsetRect(lprc, Position.x + Origin.x, Position.y + Origin.y);
 




More information about the wine-cvs mailing list