Différences
Ci-dessous, les différences entre deux révisions de la page.
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:32] thierry [Sources et Ressources] |
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 72: | Ligne 91: | ||
- | ==== 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> |