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 Treeview Einträge färben ? (https://www.delphipraxis.net/79829-treeview-eintraege-faerben.html)

Blackheart 29. Okt 2006 13:49


Treeview Einträge färben ?
 
Hallo Leute
Kann man einzelne Einträge im Treeview irgendwie Färben
also in etwa so

Ordner1
Datei.text
Datei.jpg

Alle Eintäge färben funktioniert aber..
Delphi-Quellcode:
procedure TForm1.TreeCustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
   if Tree.Items[i].Text = 'Datei.txt' then
   Tree.Canvas.font.Color:=255;
end;
Blackheart

marabu 29. Okt 2006 15:01

Re: Treeview Einträge färben ?
 
Hallo,

hast du dir das Delphi-Beispiel zu TreeView.OnCustomDrawItem() einmal angesehen?

Grüße vom marabu

Blackheart 29. Okt 2006 15:24

Re: Treeview Einträge färben ?
 
Hab das soweit jetzt hinbekommen, hab jetz aber noch irgendwo noch einen Denkfehler drin er sollte Mir alle textdateien enfärben, aber
das klappt noch nicht ganz wenn Ich die Datei direkt angebe
if Node.text='Datei.txt' dann klappts.


Delphi-Quellcode:
procedure TForm1.TreeCustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
i:Integer;
begin
 For i := 0 to Tree.Items.Count-1 do
  begin
  ext:= extractfileext(tree.Items[i].Text);
      with Sender.Canvas do
       if Node.text='.txt' then
         begin
             if cdsSelected in State then
                Font.Color := clWhite
             else
                Font.Color := clBlue;
             Font.Size:=8;
        end else begin
        if Node.Count=0 then
             if cdsSelected in State then
                Font.Color := clWhite
             else
                Font.Color := clRed;
             Font.Size:=7;
          Label1.Caption:=ext;
        end;
  end;
end;

marabu 29. Okt 2006 15:37

Re: Treeview Einträge färben ?
 
Was willst du denn mit der Zählschleife erreichen? Weg damit!


Delphi-Quellcode:
// ...
  if AnsiSameText(ExtractFileExt(Node.Text), '.txt') then
// ...
Grüße

Blackheart 29. Okt 2006 15:39

Re: Treeview Einträge färben ?
 
Danke habs grad hinbekommen if extractfileext(Node.Text)='.txt'
Blackheart

marabu 29. Okt 2006 15:43

Re: Treeview Einträge färben ?
 
Was passiert bei deinem Code, wenn die Datei FILE.TXT heißt?

Nachdenkliche Grüße

Blackheart 29. Okt 2006 15:52

Re: Treeview Einträge färben ?
 
@marabu versteh Ich jetzt nicht, was könnte denn Passieren ?
Meinst Du FILE.TXT.txt das haut alles soweit hin, bis jetzt jedenfalls.
Blackheart

Nils_13 29. Okt 2006 15:57

Re: Treeview Einträge färben ?
 
Ich denke, Marubu meint, dass du erst noch mit FileExists überprüfen solltest, ob die Datei überhaupt existiert.

marabu 29. Okt 2006 16:34

Re: Treeview Einträge färben ?
 
Eigentlich wollte ich nur auf die Empfindlichkeit bei Groß-/Klein-Schreibung hinweisen, die ich mit AnsiSameText() umgehe - genauso wie das Problem mit nationalen Sonderzeichen.

Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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