====== Affichage d'un Node ====== ===== Affichage du texte du noeud ===== Lors du dessin du composant, le TVirtualTree se sert de l'evenement ''OnGetText'' pour recuperer le texte a afficher. procedure TForm1.VSTMainGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: String); var pData: PTreeData; begin pData := VST.GetNodeData(Node); case Column of 0: CellText:= IntToStr(pData^.id); 1: CellText:= IntToStr(pData^.Flags); 2: CellText:= IntToStr(pData^.Current); 3: CellText:= IntToStr(pData^.Worst); end; end; ===== Affichage des images/icones ===== On peut mettre deux images avant le texte du noeud. - L'image "Normale", dont le ''TImageList'' sera stocké dans la property ''images'' et la largeur définie dans la propety ''imagesWidth''. - L'image "State", dont le ''TImageList'' sera stocké dans la property ''StateImages'' et la largeur définie dans la propety ''StateImagesWidth''. Lorsque le VST veux récupérer l'index de l'image à afficher, le paramètre ''Kind'' contient l'information du type d'image qu'il souhaite: * ''ikNormal'' : L'image "Normale" * ''ikSelected'' : L'image "Normale" quand la ligne est séléctionnée * ''ikState'' : L'image "State" * ''ikOverlay'' : ..... Le paramètre ''Column'' contient l'index de la colonne pour laquelle il veut l'ImageIndex. procedure TFrameVSTDisks.VSTGetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: boolean; var ImageIndex: integer); var pData: PTreeData; begin pData := VST.GetNodeData(Node); ImageIndex := -1; case Column of C_COL_DEVICE: case Kind of ikState: ImageIndex := -1; ikNormal,ikSelected: ImageIndex := pData^.Img; end; C_COL_SMART: case Kind of ikState: ImageIndex := -1; ikNormal,ikSelected: ImageIndex := pData^.SmartImg; end; end; end; ====== Sources et Ressources ======