Einzelnen Beitrag anzeigen

Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

ListView :: Zeile markieren : funktioniert nicht komplett

  Alt 8. Jun 2006, 14:14
Hi,

ich möchte in einer ListView eine Zeile, also ein Item, markieren, wenn diese nicht gechecked ist.
Dazu verwende ich folgenden Code:
Delphi-Quellcode:
procedure TfrmMain.lvCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var i: integer;
begin
  for i := 0 to lvTasks.Items.Count - 1 do
  begin
    if lvTasks.Items[i].Checked = False then
    begin
      Sender.Canvas.Brush.Color := $00006CEB
    end else Sender.Canvas.Brush.Color := clWhite;
  end;
end;
Es werden zwar alle Items am Anfang markiert, aber im folgendem Screenshot ist das Problem gezeigt (Siehe roteingehramte Checkbox). Dies ist aber nur ein Beispiel für einen mir nicht bekannten Codefehler.

Wenn ich etwas editiere oder einen Eintrag hinzufüge sollte es natürlich auch richtig sein, falls ein Item Checked=False hat.
Miniaturansicht angehängter Grafiken
lv_102.jpg  
  Mit Zitat antworten Zitat