ListView: wechselseitig immer grün/weis

Rund um die LCL und andere Komponenten

ListView: wechselseitig immer grün/weis

Beitragvon catweasel » 25. Apr 2018, 16:10 ListView: wechselseitig immer grün/weis

Moin

Ich möchte hier ein ListView wechselseitig immer eine Zeile grün und eine weis
und das unabhängig ob in der Zeile des ListView etwas steht oder ob sie leer ist.
Mein nachstehender Code macht das nur für die Zeilen im ListView wo etwas drinsteht.
Wie kann ich das für das ganze Listview machen?

Gruß
Michael

Code: Alles auswählen
// Grün-Weis Teil-1
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
const
  cStripe = $CCFFCC;
begin
  ListView1.Canvas.Font.Color := clBlack;
  if Odd(Item.Index) then ListView1.Canvas.Brush.Color := cStripe
                     else ListView1.Canvas.Brush.Color := clWindow;
end;

Code: Alles auswählen
// Grün-Weis Teil-2
procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
const
  cStripe = $CCFFCC;
begin
  if Odd(Item.Index) then ListView1.Canvas.Brush.Color := cStripe
                     else ListView1.Canvas.Brush.Color := clWindow;
end;
catweasel
 
Beiträge: 195
Registriert: 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 18.3 - (L 1.6 FPC 3.0.0) | 
Nach oben

Beitragvon MmVisual » 25. Apr 2018, 16:52 Re: ListView: wechselseitig immer grün/weis

Das musst Du dann im Draw vom ganzen List machen, da auf das Canvas die einzelnen Items zeichnen.

Ansonsten würde ich das so machen:

ListView1.Canvas.Brush.Color := cWindow XOr 0x330033;

Damit wird die Farbe automatisch mit angepasst wenn das Theme ändert.
MmVisual
 
Beiträge: 995
Registriert: 10. Okt 2008, 22:54
OS, Lazarus, FPC: Winux (L 1.6 FPC 3) | 
CPU-Target: 32/64Bit
Nach oben

Beitragvon catweasel » 26. Apr 2018, 07:18 Re: ListView: wechselseitig immer grün/weis

Danke für die Info, ich schau´s mir mal an.
catweasel
 
Beiträge: 195
Registriert: 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 18.3 - (L 1.6 FPC 3.0.0) | 
Nach oben

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried