Delphi-PRAXiS

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 schriftfarbe bei customdraw (https://www.delphipraxis.net/19647-schriftfarbe-bei-customdraw.html)

empanyc 6. Apr 2004 15:04


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

Keldorn 6. Apr 2004 15:08

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

s14 6. Apr 2004 15:08

Re: schriftfarbe bei customdraw
 
Also, bei mir funktioniert es so:

Delphi-Quellcode:
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;
Gruß
s14

empanyc 6. Apr 2004 15:22

Re: schriftfarbe bei customdraw
 
Im OnCustomDrawItem-Ereignis:

Delphi-Quellcode:
 treeview1.Canvas.Brush.Style := bsclear;
 treeview1.Canvas.Font.Color := clblack; // <---
 treeview1.canvas.TextOut(x+5,y,node.Text);
 defaultdraw := false;
Trotz der markierten Zeile wird der Text, wenn ich den Eintrag
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

Keldorn 6. Apr 2004 16:40

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 23:22 Uhr.

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