Bonjour,
J'utilise un Treeview avec le composant Virtual-TreeView dans Delphi 11.1 en VCL.
Je charge des données et je souhaiterai ensuite afficher en couleurs les lignes selon une condition.
Il y a une seule colonne pour laquelle le fond s'affiche correctement.
Quand je sélectionne la ligne toute les colonnes sont correctes.
Voici le code correspondant :
Je n'ai pas trouvé ce qui ne convenait pas dans ce code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 procedure TForm1.Tree1DrawText(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; const Text: string; const CellRect: TRect; var DefaultDraw: Boolean); var mdata: PMyData; begin mdata := Node.GetData; if Assigned(mdata) then begin if (mdata.Level = 2) then TargetCanvas.Font.Style := TargetCanvas.Font.Style + [fsBold] else if (mdata.Level > 2) and (mdata.Stock = 0) then begin TargetCanvas.Brush.Color := clYellow; TargetCanvas.Font.Color := clRed; end; end; end;
Avez-vous une idée ?
Partager