Commit ebdf2fd2 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

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

parent 021410cf
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment