Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Zeilen färben: TListView <-> TJvLisView (https://www.delphipraxis.net/212268-zeilen-faerben-tlistview-tjvlisview.html)

Kratos 16. Jan 2023 16:25

Delphi-Version: 11 Alexandria

Zeilen färben: TListView <-> TJvLisView
 
Hi Leute,

in einer
Delphi-Quellcode:
TListView
färbe ich Zeilen wie folgt:
Delphi-Quellcode:
procedure TForm1.lv1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
  var DefaultDraw: Boolean);
begin
   if Item.SubItems[4] = 'Ja' then
   begin
     Sender.Canvas.Brush.Color := $009DFC96; // Grün
   end
   else
   begin
     Sender.Canvas.Brush.Color := $009B9BFF; // Rot
   end;
end;
Nun hab ich mich dazu entschieden diese
Delphi-Quellcode:
TListView
durch eine
Delphi-Quellcode:
TJvListView
zu ersetzen, da diese zusätzliche Ereignisse beinhaltet, die ich unbedingt benötige.
Ich habe diese
Delphi-Quellcode:
TJvListView
genauso genannt, wie meine alte
Delphi-Quellcode:
TListView
.
Alle genutzten Ereignisse hab ich im Objektinspektor der neuen ListView hinzugefügt.

In der
Delphi-Quellcode:
TListView
werden die Zeilen ordnungsgemäß gefärbt.
In der
Delphi-Quellcode:
TJvListView
bleibt alles weiß, obwohl laut Debugger, die Farben richtig in der CustomDrawItem-Prozedur bestimmt werden.

Ich hab jetzt schon viele Foreneinträge gewälzt.
Ich komme einfach nicht auf die Lösung.
Hat jemand einen Rat für mich, bitte?

VG Kratos

Kratos 17. Jan 2023 15:48

AW: Zeilen färben: TListView <-> TJvLisView
 
Hi nochmal,

ich hab mir doch tatsächlich mal getraut, den oben geposteten Code bei der TJvListView (JEDI) in das OnCustomDrawSubItem-Ereignis zu kopieren und das verwendete OnCustomDrawItem-Ereignis rauszunehmen.
Siehe da, es funktioniert wie gewünscht.

Zusammenfassung meiner Beobachtung beim Zeilen färben:
Delphi-Quellcode:
TListView
+
Delphi-Quellcode:
OnCustomDrawItem
-> funktioniert
Delphi-Quellcode:
TJvListView
+
Delphi-Quellcode:
OnCustomDrawItem
-> funktioniert NICHT
Delphi-Quellcode:
TJvListView
+
Delphi-Quellcode:
OnCustomDrawSubItem
-> funktioniert

Warum das so ist... keine Ahnung :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz