LCL-Win32: Fix drag and drop issue of ListView items with ImageList. Issue #27816, patch from Zeljko + Janusz Tomczak.

git-svn-id: trunk@51062 -
This commit is contained in:
juha 2015-12-28 13:32:14 +00:00
parent fe3244449c
commit 51c28613b2

View File

@ -679,7 +679,14 @@ begin
_gnu_lvi.iSubItem := ASubIndex;
_gnu_lvi.pszText := PChar(PWideChar(UTF8ToUTF16(AText)));
SendMessage(ALV.Handle, LVM_SETITEMTEXTW, WPARAM(AIndex), LPARAM(@_gnu_lvi));
if (TListView(ALV).ViewStyle in [vsList, vsReport]) and Assigned(TListView(ALV).SmallImages) then
begin
_gnu_lvi.Mask := LVIF_TEXT or LVIF_IMAGE;
_gnu_lvi.iItem := AIndex;
_gnu_lvi.iImage := AItem.ImageIndex;
SendMessage(ALV.Handle, LVM_SETITEMW{TEXTW}, WPARAM(AIndex), LPARAM(@_gnu_lvi));
end else
SendMessage(ALV.Handle, LVM_SETITEMTEXTW, WPARAM(AIndex), LPARAM(@_gnu_lvi));
// autosize is an *extreme* performance bottleneck, even if WM_SETREDRAW
// was set to false it will ignore this and still redraw all columns.
// We will therefore postpone all autosizing until EndUpdate where we do