Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:components:tvirtualtreeview:base [13/03/2023 18:31]
thierry [BeginUpdate / EndUpdate]
prog:lazarus:components:tvirtualtreeview:base [13/03/2023 18:52] (Version actuelle)
thierry [Créer les colonnes à afficher]
Ligne 1: Ligne 1:
 ====== Actions de BASE ====== ====== Actions de BASE ======
-===== Fonctionnement ===== +Avant toute utilisation d'un VST on doit faire : 
-==== Définition des données affichée ====+  * Définir les données a afficher. 
 +  * Initialiser le ''​NodeDataSize''​ avec la taille des données à afficher. 
 +  * Définir les Columns à afficher. 
 +  * Définir ''​OnGetText''​ pour pouvoir afficher le texte du Node. 
 +  * Définir ''​OnFreeNode''​ pour dire quoi faire quand on efface un Node. 
 + 
 +===== Définition des données ​à affichée ​=====
  
 Les TVirtualTrees contiennent un ensemble de **Node** (de type PVirtualNode). Les TVirtualTrees contiennent un ensemble de **Node** (de type PVirtualNode).
Ligne 19: Ligne 25:
 </​code>  ​ </​code>  ​
 On déclare aussi un type pointer vers TTreeData (''​PTreeData''​) qui nous sera utile plus tard... On déclare aussi un type pointer vers TTreeData (''​PTreeData''​) qui nous sera utile plus tard...
-==== Initialisation ​====+===== Définir NodeDataSize =====
    
    Il faut initialiser le TVirtualTree en lui disant la taille des noeuds grace a **NodeDataSize**    Il faut initialiser le TVirtualTree en lui disant la taille des noeuds grace a **NodeDataSize**
Ligne 31: Ligne 37:
 Sinon ça bug dans tous les sens...</​note>​ Sinon ça bug dans tous les sens...</​note>​
  
-==== Ajout d'un Noeud ====+===== Créer les colonnes à afficher ===== 
 + 
 +Avec le menu contextuel sur le VST, choisir ''​Edit Columns...''​ 
 + 
 +{{:​prog:​lazarus:​components:​tvirtualtreeview:​columns.jpg|}} 
 + 
 +Ensuite on définit ''​TVirtualTree.Header.Options.hoVisible''​ pour les afficher sur le VST (si vous voulez les afficher) 
 + 
 +{{:​prog:​lazarus:​components:​tvirtualtreeview:​col2.jpg|}} 
 + 
 + 
 +===== Ajout d'un Noeud =====
  
  
Ligne 51: Ligne 68:
 end; end;
 </​code>​ </​code>​
-==== OnGetText : Affichage d'un Noeud ====+===== OnGetText : Affichage d'un Noeud =====
  
 Lors du dessin du composant, le TVirtualTree se sert de l'​evenement ''​OnGetText''​ pour recuperer le texte a afficher. Lors du dessin du composant, le TVirtualTree se sert de l'​evenement ''​OnGetText''​ pour recuperer le texte a afficher.
 +
 +Plus d'​infos sur l'​affichage -> [[prog:​lazarus:​components:​tvirtualtreeview:​node_affichage]]
 <code delphi> <code delphi>
 procedure TForm1.VSTMainGetText(Sender:​ TBaseVirtualTree;​ Node: PVirtualNode;​ procedure TForm1.VSTMainGetText(Sender:​ TBaseVirtualTree;​ Node: PVirtualNode;​
Ligne 70: Ligne 89:
 </​code>​ </​code>​
  
-==== Modifications ==== 
  
-==== Déstruction du VST ===+ 
-=== OnFreeNode ​===+ 
 +===== OnFreeNode ​=====
 <note note>​J'​ai eu un pb de MemoryLeak avec un VST que j'ai résolu de la façon suivante</​note>​ <note note>​J'​ai eu un pb de MemoryLeak avec un VST que j'ai résolu de la façon suivante</​note>​
 <code delphi> <code delphi>
Ligne 103: Ligne 122:
  
  
-===== Sources et Ressources =====+====== Sources et Ressources ​======
   * [[https://​jlelong.developpez.com/​articles/​virtualtreeview/​]]   * [[https://​jlelong.developpez.com/​articles/​virtualtreeview/​]]
   * [[https://​documentation.help/​VirtualTreeview/​$Main.html]]   * [[https://​documentation.help/​VirtualTreeview/​$Main.html]]