![]() |
Re: TreeView Farbe
Zitat:
|
Re: TreeView Farbe
Liste der Anhänge anzeigen (Anzahl: 1)
:oops: 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 :oops: |
Re: TreeView Farbe
Danke ich werds mir mal ansehen. Aber da ich und Grunzke zusammenarbeiten haben wir wohl genau das gleiche Problem :D
|
Re: TreeView Farbe
Hallo Michael,
Zitat:
Delphi-Quellcode:
Emoticons sind nicht mein Ding, aber wäre anstelle von mrgreen nicht stupid die bessere Wahl gewesen?
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; Freundliche Grüße vom marabu |
Re: TreeView Farbe
Zitat:
:mrgreen: :wink: 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 ?^^ |
Re: TreeView Farbe
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 |
Re: TreeView Farbe
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 :wiejetzt: |
Re: TreeView Farbe
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 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