Bjr
En mode conception, j'ai un composant personnalisé Schema de classe TSchema sur une fiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 TSchema = class(TComponant) private FTree : TTreeView; FXML : TStringList; procedure LoadTreeView(Tree : TTreeView); public property Tree : TTreeView read FTree; ... published property XML : TStringList read FXML write SetXML; .. end;
Je charge le contenu du XML dans ma propriété Tree.
Lors du chargement de chaque node je reconstruis les données associées.
A des fins d'édition sous l'EDI, j'utilise un éditeur de propriété spécifique dans lequel j'affiche mon arbre.
Ex code XML
<tree>
<item name="Premier" classname="TDemo" propname="Essai">
<item name="La suite ..." classname="TSuite" propname="Suite">
</item>
</item>
<item name="Suivant" classname="TSuivant" propname="">
</tree>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // Objet associé à chaque TTreeNode TNodeData = class(TObject) private FName : string; FPropName : string; FClassName : string; end;
J'obtiens l'arbre suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 + Premier | +------ La suite ... | + Suivant
Dans le node "Premier" j'ai :
TNodeData(Node.Data).FName = "Premier"
TNodeData(Node.Data).FProName = "Essai"
TNodeData(Node.Data).FClassName = "TDemo"
Dans le node "La Suite ..." j'ai :
TNodeData(Node.Data).FName = "La Suite ..."
TNodeData(Node.Data).FProName = "Suite"
TNodeData(Node.Data).FClassName = "TSuite"
etc ...
Maintenant sur ma fiche j'ai N composants qui référencent non seulement mon composant Schema mais aussi un TTreeNode précis de Schema.Tree
Question comment faite pour stocker dans le dfm la référence au TTreeNode ?
Merci
@+
Php
Partager