AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TreeView Farbe

Ein Thema von Grunzke · begonnen am 26. Nov 2005 · letzter Beitrag vom 5. Dez 2005
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: TreeView Farbe

  Alt 5. Dez 2005, 17:53
Zitat von Sharky:
Hai Neutral,

wenn die Auswahl der Farbe nicht von dem Select-Zustand abhängt könntest Du für jeden Node in seiner Object-Eigenschaft die zu verwendende Zeichenfarbe oder ein anderes Flag "rein casten".
Ok ich weiß was ein Object ist, ich weiß was eine Zeichenfarbe ist, ich weiß was ein Flag ist und ich weiß was casten ist aber ich verstehe trotzdem nicht was ich machen soll
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#12

Re: TreeView Farbe

  Alt 5. Dez 2005, 18:12
Bei einem TreeNode ist es die Eigenschaft .Data
Demo im Anhang. Aber ich sehe eben das dies wohl alles nichts für Grunzke ist.
Ich dachte es ginge um etwas anderes
Angehängte Dateien
Dateityp: zip demo_877.zip (5,1 KB, 39x aufgerufen)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

Re: TreeView Farbe

  Alt 5. Dez 2005, 19:08
Danke ich werds mir mal ansehen. Aber da ich und Grunzke zusammenarbeiten haben wir wohl genau das gleiche Problem
Michael
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: TreeView Farbe

  Alt 5. Dez 2005, 19:22
Hallo Michael,

Zitat von Neutral General:
Dein Ansatz ist für mein Problem auch falsch
entweder liegen bei dir Problembeschreibung und Anforderung verdammt weit auseinander oder in das OnClick Ereignis deines HighlightButton gehört die Anweisung TreeView.Invalidate - den Rest macht der Code aus Beitrag #8. Wenn du das Highlighting auch wieder wegnehmen möchtest, dann geht das so:

Delphi-Quellcode:
procedure TDemoForm.TreeViewCustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Node.Selected and (TreeView.Tag = 1)
    then Sender.Canvas.Font.Color := clGreen
    else Sender.Canvas.Font.Color := clBlack;
end;

procedure TDemoForm.HighLightButtonClick(Sender: TObject);
begin
  with TreeView do
  begin
    Tag := 1 - Tag;
    Invalidate;
  end;
end;
Emoticons sind nicht mein Ding, aber wäre anstelle von mrgreen nicht stupid die bessere Wahl gewesen?

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#15

Re: TreeView Farbe

  Alt 5. Dez 2005, 19:26
Zitat:
Emoticons sind nicht mein Ding, aber wäre anstelle von mrgreen nicht stupid die bessere Wahl gewesen?
Naja ich benutze aber doch so gerne den hier :



EDIT: Leute ich glaube ihr versteht mich falsch.

Nix angeklickt:

Node1
Node2
Node3
Node4

Node3 angeklickt:

Node1
Node2
Node3
Node4

Und jetzt klickt man Node4 an:

Node1
Node2
Node3
Node4

so soll das aussehen. Mit den Methoden wie ihr es macht wird es aber nachher so:


Node1
Node2
Node3
Node4

Habt ihr verstanden ?^^
Michael
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: TreeView Farbe

  Alt 5. Dez 2005, 19:46
Mein Code tut genau das, was du zum wiederholten Male beschreibst. Den letzten Fall kann ich mit meinem Code nicht produzieren. Wenn du meinen Code ausprobiert hast und das Ergebnis ist nicht wie gewünscht, dann vermute ich Seiteneffekte durch anderen Code, den du gleichzeitig in deiner Anwendung hast.

Mäßig verwirrte Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#17

Re: TreeView Farbe

  Alt 5. Dez 2005, 19:58
Ja mit deinem Code geht das ja faaast.. nur soll die Färbung permanent sein und nicht nur solange das Item selektiert ist...

Node markieren
--> Button klicken
--> Node wird rot
--> Man entmarkiert den Node
--> Immernoch rot!!
--> Solange bis ich ein anderes Node markiere und mit dem Button einfärbe.
--> Es soll immer nur ein Node gefärbt sein

Ich hoffe mal ihr habt mein Problem verstande. Langsam bin ich nämlich auch verwirrt
Michael
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: TreeView Farbe

  Alt 5. Dez 2005, 20:17
Langsam verstehe ich dich besser. Die Färbung ist nicht von der Selektion des Knoten abhängig. Du verwendest die Selektion nur um den Knoten zu markieren, der über den Button gefärbt werden soll. Dazu solltest du wie von Sharky beschrieben die Data property des Node verwenden. Sharky hat doch auch Code beigelegt - hast du den schon ausprobiert?

marabu


PS: Ansonsten geht es auch mit meinem Code - leicht verändert:

Delphi-Quellcode:
procedure TDemoForm.TreeViewCustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Succ(Node.AbsoluteIndex) = TreeView.Tag
    then Sender.Canvas.Font.Color := clGreen
    else Sender.Canvas.Font.Color := clBlack;
end;

procedure TDemoForm.HighLightButtonClick(Sender: TObject);
begin
  with TreeView do
  begin
    Tag := Succ(Selected.AbsoluteIndex);
    Invalidate;
  end;
end;
  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 14:40 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