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