Argghhh.. Ich habs.
Aber keine Ahnung warum es bei dir trotzdem Funktioniert eigentlich dürfte es das nicht.
Deins!
Delphi-Quellcode:
procedure TSkinListView.UpdateLParam(const hListView: HWND);
var
lvi : TLVItem;
i : integer;
ItemCount: Integer;
begin
lvi.mask := LVIF_PARAM;
lvi.iSubItem := 0;
ItemCount := ListView_GetItemCount(hListView);
for i := 0 to ItemCount - 1 do
begin
lvi.iItem := i;
lvi.lParam := i;
SendMessage(ItemCount, LVM_SETITEM, 0, LPARAM(@lvi));
end;
end;
Meins!
Delphi-Quellcode:
procedure TSkinListView.UpdateLParam(const hListView: HWND);
var
lvi : TLVItem;
i : integer;
ItemCount: Integer;
begin
lvi.mask := LVIF_PARAM;
lvi.iSubItem := 0;
ItemCount := ListView_GetItemCount(hListView);
for i := 0 to ItemCount - 1 do
begin
lvi.iItem := i;
lvi.lParam := i;
ListView_SetItem(hListView, lvi);
end;
end;
Sag mir nun wo hier der Unterschied ist
OK hier ist der Unterschied..
SendMessage(hListView, LVM_SETITEM, 0, Longint(@pItem));
SendMessage(ItemCount, LVM_SETITEM, 0, LPARAM(@lvi));
Ich habe beim addieren des ItemCount einen dicken Fisch addiert der dort nicht schwimmen durfte.
Wieder 2 Stunden unnötiger Ärger ... LOL
gruss