Dein Code ist eigentlich etwas doppelt gemoppelt. Deshalb ist die Aussage von a.def auch korrekt.
Gezeichnet wird immer nur im OnDraw Event der Komponente. In dem speziellen Fall z.B. im Event
OnCustomDrawItem.
In dem Event erhälst du das gerade zu zeichnende Item als Parameter. Und den kannst du auswerten. Da musst du nicht immer mit einer For-Schleife durch alle Items iterieren und nochmal irgendetwas selbst suchen.
Delphi-Quellcode:
procedure TForm1.lv1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if (Item.Index = 2) then
// DrawMyIcon
end;
EDIT: Ok. Es wäre noch interessant zu wissen was LVMA ist. Der ImageIndex ist ja eigentlich dem ListItem zugeordnet weshalb du den direkt vom Item abfragen kannst.
Delphi-Quellcode:
procedure TForm1.lv1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if (Item.ImageIndex = 2) then
// DrawMyIcon
end;