Hallo Delphi-Noobie,
du kannst der Liste sagen, dass du die Items selber zeichnen möchtest, indem du
ListBox1.Style := lbOwnerDrawVariable;
setzt.
Nun rufst du den OnDrawItem-Teil der Listbox auf und musst nun das Zeichnen der Items implementieren.
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with ListBox1 do
begin
Canvas.FillRect(Rect);
// Hier müsste nun ermittelt werden, wo das Item sitzt und ein entsprechendes Bitmap eingesetzt werden
end;
end;
Die Position des Icon-Zeichnens könntest du mit Pos herausfinden.
Da ich selbst noch am Anfang bin, kann ich dir leider nicht mal kurz was runterschreiben, das auch funktioniert. Sorry.
Ich würde auch vermuten, dass das ständige Aufsuchen und Ersetzen innerhalb des OnDrawItem-Ereignis entsprechend Zeit in Anspruch nimmt. Vielleicht gibt es ja auch eine bessere Lösung...
Gruß
Pfoto