Evidenziare voci TreeView

Spesso e' utile evidenziare con colori diversi le voci presenti in un controllo TTreView, acnhe solo per
dare l'idea all'utilizzatore di quali voci siano Titoli e quali Voci Operative, per farlo bastano pochi
passaggi:

1 - nel Controllo TreeView andare su Options ed impostare tvoRowSelect = True
questo permettera' di avere una barra colorata larga quanto il TreeView stesso

2 - attivare l'Evento AdvancedCustomDrawItem (doppio click)

Codice: [Seleziona]

  if Node.HasChildren then
    begin
      Sender.Canvas.Font.Color := clNavy;
      Sender.Canvas.Font.Style := [fsBold];
      Sender.SelectionColor := clSilver;        //cambia colore
    end
  else
    begin
      Sender.Canvas.Font.Color := clBlue;
      Sender.Brush.Color := $00F4FEFF;
      Sender.SelectionColor := clSkyBlue;;  //cambia colore se non ha figli
    end;

  if not Node.Expanded then Node.Expand(True);    


Sender.Canvas.Font.Color := clNavy;
Assegna un Colore diverso al Nodo che abbia figli

Sender.Canvas.Font.Style := [fsBold];
Assegna un Atrtibuto sul Font diverso al Nodo che abbia figli, in questo esempio Grasetto

Sender.SelectionColor := clSilver;
questa rappresenta il Colore di fondo della Barra Cursore che evidenzia ciascuna voce
verificando se il nodo ha figli   if Node.HasChildren then
possiamo cambiare colore quando ilo cursore o si clicca su uno di questi Nodi

SMF 2.0.8 | SMF © 2011, Simple Machines
Privacy Policy
SMFAds for Free Forums
TinyPortal © 2005-2012

Go back to article