Hat mir leider nicht wirklich weitergeholfen.
Habe jetzt folgenden Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
listview1.Items.Add;
listview1.Items[0].Caption:='xx';
listview1.Items.Add;
listview1.Items[1].Caption:='xx';
listview1.Items.Add;
listview1.Items[2].Caption:='xx';
listview1.Repaint;
end;
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
IF item.Index=2 THEN // färbe 3. Zeile
begin
Sender.Canvas.Font.Style:=[fsbold];
DefaultDraw := True; // item normal zeichnen
end;
end;
Ich möchte es aber eher so (das ganze sollte sich auch direkt nach dem Einfügen des Items färben):
Pseudocode:
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
listview1.Items.Add;
listview1.Items[0].Caption:='xx';
listview1.Items.Add;
listview1.Items[1].Caption:='xx';
listview1.Items.Add;
listview1.Items[2].Caption:='xx';
Listview1.Items[2].Font.Style:=[fsbold];
end;
Natürlich geht Listview1.Items[2].Font.Style:=[fsbold]; nicht, aber ist das irgendwie möglich?
Wäre ja sonst eine Wahnsinns arbeit, das alles mit CustomDrawItem zu synchronisieren,
garnicht denkbar bei einer Liste mit tausenden Einträgen.