Composant TreeView et couleur des noeuds
Bonjour à toutes et tous,
Est-ce que quelqu'un a déjà utilisé un TreeView en modifiant la couleur du texte d'un noeud en fonction d'un critère particulier ?
Je voudrais pouvoir modifier les couleurs du texte des noeuds, mais les TTreeNode n'ont pas de composants Font, et je ne vois pas comment dans le TTreeview réaliser cela.
Si quelqu'un a une idée, ou s'il existe un composant dérivé qui permet cela, merci d'avance pour votre aide.
JS
1 pièce(s) jointe(s)
[Treeview] Problème pour faire fonctionner un bout de code du forum
Citation:
Envoyé par
jurassic pork
Hello,
avec l'événement
OnCustomDrawItem, tu dois pouvoir y arriver :
Code:
1 2 3 4 5 6 7
| procedure TForm1.tv_eg1CustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
If Node.Text = 'Root' then Sender.Canvas.Font.Color := clBlue;
If Node.Text = 'Node1' then Sender.Canvas.Font.Color := clRed;
If Node.Text = 'Node2' then Sender.Canvas.Font.Color := clGreen;
If Node.Text = 'Node3' then Sender.Canvas.Font.Color := clLime;
end; |
Bonjour,
j'aimerais bien savoir ce qu'il manque au petit bout de code posté par jurassic pork pour avoir un fonctionnement correct de ces 4 lignes chez moi (Linux Debian 12, Lazarus 3.8 et un code venant d'un cador du forum [https://forum.lazarus.freepascal.org...html#msg398314]) auquel je n'ai rien changé sauf l'ajout de la procédure CustomDrawItem et ça ne fonctionne pas ! Les textes restent en noir, point final.
Je savais que le Treeview c'était compliqué :
, mais pas à ce point-là...
Merci pour le coup de main,