Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Virtual Tree View textfarbe einzelner Rows ändern? (https://www.delphipraxis.net/105297-virtual-tree-view-textfarbe-einzelner-rows-aendern.html)

richard_boderich 19. Dez 2007 14:34

Re: Virtual Tree View textfarbe einzelner Rows ändern?
 
@Gollum & generic

Also jetz funktioniert das Färben ersteinmal. Jedoch färbt er jetzt nur die 3 Spalte. Ich habe dann mal die Abfrage auf Column entfernt. Damit färbt er jetz das ganze Item. (s. Code) Jedoch mache ich mir Gedanken, das dies eigentlich Performance Verschwendung ist, weil der Vergleich ja jetz für jeden
Paintvorgang ausgeführt wird. Ich denke mir aber, das es nicht anders geht, weil TargetCanvas Cellbasiert ist? Sprich wenn ich auf Column 3 Abfrage,
kann ich auch nur auf die Canvasfläche von Column 3 zugreifen und nicht auf die Canvas des ganzen Items???

Delphi-Quellcode:
var d: PRMeineDaten;
  begin

  d:=Sender.GetNodeData(Node);

     if (d^.Hidden='test') then targetcanvas.Font.Color:=clRed;

  end; // with TargetCanvas

//Edit Kann mir jemand sagen, warum das nicht im OnbeforeItemPaint funktioniert?
Delphi-Quellcode:
var d: PRMeineDaten;
begin
   d:=Sender.GetNodeData(Node);

     if (d^.Hidden='test') then targetcanvas.Font.Color:=clred else targetcanvas.Font.Color:=clblack;

end;
mfG Richard

generic 19. Dez 2007 17:47

Re: Virtual Tree View textfarbe einzelner Rows ändern?
 
Zitat:

nicht funktioniert
nach dem beforeitempaint wird intern die font color mehrfach umgesetzt für andere mal dinge.
vor dem aufruf von onpainttext wird dann noch die default farbe genommen.

schau mal in vst.paintree nach.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz