![]() |
schriftfarbe bei customdraw
Hi,
meine TTreeview-Komponente fülle ich selber mittels customdraw-ereignissen. Nun habe ich das Problem, dass die ausgewählten Einträge immer weiss angezeigt werden. Gerade bemerke ich, dass ich die Farbe der Schrift allgemein net einstellen kann. Ändern von font.color und pen.color bringt nix. Weiss jemand woran das liegt? Danke! Mario |
Re: schriftfarbe bei customdraw
Hallo
wo änderst du font.color und vor allem welches font.color? Poste mal mehr Code, vielleicht hast du dich irgendwo vertan und greifst auf des falsche Canvas-objekt zu, du mußt schon Treeview.canvas.font.color setzen. Mf gFrank |
Re: schriftfarbe bei customdraw
Also, bei mir funktioniert es so:
Delphi-Quellcode:
Gruß
procedure TForm1.TV1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean); begin with TV1.Canvas do begin font := TV1.Font; Font.Style := []; Font.Color := clWindowText; if cdsSelected in State then begin Font.color := clWindow; if OutDated then Brush.Color := clRed else Brush.Color := clHighLight; end; end; end; s14 |
Re: schriftfarbe bei customdraw
Im OnCustomDrawItem-Ereignis:
Delphi-Quellcode:
Trotz der markierten Zeile wird der Text, wenn ich den Eintrag
treeview1.Canvas.Brush.Style := bsclear;
treeview1.Canvas.Font.Color := clblack; // <--- treeview1.canvas.TextOut(x+5,y,node.Text); defaultdraw := false; markiert habe, immer weiss angezeigt. Auch die "unmarkierte" Farbe lässt sich net ändern. Das "defaultdraw := false" ist halt nötig, damit das Hintergrundbild korrekt angezeigt wird. Gruß Mario |
Re: schriftfarbe bei customdraw
also bei mir geht dein codeschnippsel. Kannst du bitte mal die gesamte routine posten?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 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-2025 by Thomas Breitkreuz