Einzelnen Beitrag anzeigen

aschne1

Registriert seit: 18. Jul 2004
Ort: Davos
64 Beiträge
 
Delphi 2005 Professional
 
#1

Unterschidliche Schriftgrössen in Virtualstringtree

  Alt 3. Feb 2006, 11:55
Hallo

Ich verwende zur Datenanzeige die Komponente VirtualStringTree. Zur besseren Übersicht hinterlege ich die einzelnen Hauptknoten abwechslungsweise farbig blau-weiss-blau-weiss-usw.... (nicht wegen Herrn Stoiber ).Die Unterknoten haben die gleiche Farbe wie der Hauptknoten. Soweit kriege ich das auch hin.

Nun möchte ich die Unterknoten aber in einer anderen Schriftgrösse anzeigen. Auch das geht mit der untenstehenden Procedure, nur wenn die Kinderknoten ausklappen steigt die CPU-Auslastung auf 95-99%. Sobald ich alle Unterknoten wieder einklappe ist die CPU-Auslastung unter 5%.

Ich bin mir sicher, dass es eine einfache Lösung gibt. Nur welche?

Delphi-Quellcode:
procedure Tfrm_Pos.vstPositionBeforeCellPaint(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
  CellRect: TRect);
begin
    if Node.Parent <> Sender.RootNode then
    begin
      TVirtualStringTree(Sender).Font.Size := 8;
      if not Odd(Node.Parent.Index) then TargetCanvas.Brush.Color := clWhite
      else TargetCanvas.Brush.Color := kon_color1;
    end
    else
    begin
      TVirtualStringTree(Sender).Font.Size := 12;
      if not Odd(Node.Index) then TargetCanvas.Brush.Color := clWhite
      else TargetCanvas.Brush.Color := kon_color1;
    end;
    TargetCanvas.FillRect(CellRect);
end;
Danke für Eure Hilfe

Gruss
Armin
aschne1
  Mit Zitat antworten Zitat