AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

schriftfarbe bei customdraw

Ein Thema von empanyc · begonnen am 6. Apr 2004 · letzter Beitrag vom 6. Apr 2004
Antwort Antwort
empanyc

Registriert seit: 31. Jan 2004
42 Beiträge
 
#1

schriftfarbe bei customdraw

  Alt 6. Apr 2004, 15:04
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
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: schriftfarbe bei customdraw

  Alt 6. Apr 2004, 15:08
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

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#3

Re: schriftfarbe bei customdraw

  Alt 6. Apr 2004, 15:08
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
  Mit Zitat antworten Zitat
empanyc

Registriert seit: 31. Jan 2004
42 Beiträge
 
#4

Re: schriftfarbe bei customdraw

  Alt 6. Apr 2004, 15:22
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
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: schriftfarbe bei customdraw

  Alt 6. Apr 2004, 16:40
also bei mir geht dein codeschnippsel. Kannst du bitte mal die gesamte routine posten?

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 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