Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Listview CustomDrawItem - Icons

  Alt 18. Jan 2017, 14:00
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;

Geändert von Aviator (18. Jan 2017 um 14:03 Uhr)
  Mit Zitat antworten Zitat