Einzelnen Beitrag anzeigen

Gecko
(Gast)

n/a Beiträge
 
#3

Re: Einzelne ListView Einträge fett machen

  Alt 16. Jun 2007, 22:58
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.
  Mit Zitat antworten Zitat