Einzelnen Beitrag anzeigen

Leonard

Registriert seit: 12. Okt 2005
Ort: Lutherstadt Eisleben
64 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Treeview einzelnes Treenode durchstreichen?

  Alt 22. Aug 2006, 15:32
Zitat von Schaedel:
Hallo,
die Idee hatte ich auch schon...
Das Problem ist das TTreeNode keine Font eigenschaft besitzt.
Lediglich das Treeview hat ne Eigenschaft Font... und das bezieht sich ja dann auf das Ganze.
Über Canvas komm ich auch nicht ran... ist das selbe Problem.

Trotzdem Danke

Ps
hab Delphi 5 Enterprise
Das geht...

Hier habe ich mal auf die ganz schnelle etwas probiert:
Delphi-Quellcode:
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  rTmp: TRect;
begin
  inherited;
  if Assigned(Node) and (Node.StateIndex = 1) then
  begin
    rTmp := Node.DisplayRect(True);
    Sender.Canvas.MoveTo(rTmp.Left, (rTmp.Top + (rTmp.Bottom - rTmp.Top)) div 2);
    Sender.Canvas.LineTo(rTmp.Right, (rTmp.Top + (rTmp.Bottom - rTmp.Top)) div 2);
  end;
end;
Setz dir mal einen TreeView auf ein Form und trag ein paar Knoten ein. Einigen gibst du den StateIndex 1. Dann fügst du die oben gezeigten Zeilen ein.

Du kannst die Canvas Eigenschaft des TreeView verwenden.
Da ich jetzt nicht weiss, ob ich den Hilfeartikel hier posten darf, schicke ich ihn dir mal nur als PM. (Ich hoffe das geht für die anderen in Ordnung, denn ich weiss man soll alles hier ins Forum schreiben).

mfg Leonard

P.S. ich sehe gerade, die Berechnung für die Y Werte bei MoveTo und LineTo passen nicht so richtig, aber es musste eben schnell gehen
Tobias
  Mit Zitat antworten Zitat