2010-01-13 2 views
2

Y a-t-il un moyen de changer la couleur des nœuds dans un TTreeView? Je veux colorier ma treeview avec une couleur foncée et je ne peux pas voir les nœuds.modifier la couleur du nœud treeview

alt text http://rigo.ro/temp/ChangeTreeViewNodeColor.png

+0

Veuillez spécifier la version Delphi que vous utilisez. Je viens de vérifier et en Delphi 7 aucune des propriétés mentionnées par "Kornel" ne sont présentes (à l'exception de la couleur bien sûr) – Edelcom

Répondre

3

Il est évident que pas facilement vous ne vouliez changer la couleur de la ligne. De toute façon, il y a un message pour cela dans l'API;

uses 
    commctrl; 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
    SendMessage(TreeView1.Handle, TVM_SETLINECOLOR, 0, ColorToRGB(clYellow)); 
end; 
1

vous pouvez peut-être utiliser OnCustomDrawItem cas de TTreeView:

procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView; 
    Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean); 
begin 
    with Sender as TCustomTreeView do 
    begin 
    Canvas.Brush.Color := clBlack; 
    Canvas.Font.Color := clBlack 
    end; 
end; 
+0

Qu'est-ce que cela va faire? Cela va dessiner les éléments avec un premier plan noir et un arrière-plan noir. lignes d'arbres, non? – Edelcom

+0

oui, c'est vrai, je veux changer seulement la couleur des lignes d'arbres –