@Alle: Bitte beim Thema bleiben
@Micha: Das Zauberwort dürfe
.OnCustomDrawItem und
.OnCustomDrawSubItem heissen.
Hier ein Beispiel:
Delphi-Quellcode:
var
farbe : TColor;
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
i_wert : Integer;
begin
farbe := clWhite; //Standardfarbe
i_wert := StrToInt (Item.SubItems.Strings[0]); // Inhalt von Spalte 2
if i_wert <= 0 then
farbe := clgreen;
if i_wert < -14 then
farbe := clYellow;
if i_wert < -21 then
farbe := clred;
if i_wert > 0 then
farbe := clblue;
ListView1.Canvas.Brush.Color := farbe; // Hintergrundfarbe des Items setzen
end;
procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
ListView1.Canvas.Brush.color := farbe; // Hintergrundfarbe der SubItems setzen
end;
In
OnCustomDrawItem werte ich den Inhalt des ersten SubItems (wo die Tagesdifferenz steht) aus.
Abhängig davon weise ich einer globalen Variablen einen Farbwert zu.
In
OnCustomDrawSubItem verwende ich diese um die Hintergrundfabe zu setzen.
Das solltest Du eigentlich anpassen könnne.
Stephan B.
"Lasst den Gänsen ihre Füßchen"