pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 2024
-
5 avril 2013 à 11:17
pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 2024
-
7 avril 2013 à 16:03
Bonjour
Soit un TreeView avec plusieurs noeuds dans la racine. Chaque noeud pouvant avoir ou pas des enfants. Suivant croquis ci dessous
| Parent_0 (sans enfant)
| Parent_1 (avec 2 enfants)
| Enfant_0 de parent_1
| Enfant_1 de parent_1
| Parent_2 (sans enfant)
| Parent_3 (avec 1 enfant)
| Enfant_0 du parent_3
Comment peut on récupérer le nom du noued parent d'un enfant lors d'un clic sur le nom de l'enfant.
Exemples
[list]
Clic sur Enfant_1 de parent_1 doit renvoyer Parent_1
Clic sur Parent_2 doit renvoyer Parent_2
Clic sur Enfant_0 de parent_3 doit renvoyer Parent_3
/list
pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 20243 6 avril 2013 à 16:21
Bonjour,
Merci de ton aide.
C'est la 1ère fois que j'utilise le TTreeView et dans tous ces noeuds je m'en suis fait des sacs ......de noeuds
Dans mon TTreeView j'ai des parents qui ont des enfants , des petits enfants et des petits petits enfants. Il fallait donc remonter à la racine sans en oublier.
Voici la fonction que j'ai tiré de ton exemple.
Function GetRacine(aTV: TTreeView): string;
Var NoeudSelected, NoeudParent: TTreeNode;
n: Integer;
cRacine: String;
Begin
cRacine := '';
NoeudSelected := aTV.Selected;
n := NoeudSelected.Level;
if n = 0 then
Result := NoeudSelected.Text
else begin
cRacine := NoeudSelected.Text;
Repeat
NoeudParent := NoeudSelected.Parent;
cRacine := NoeudParent.Text + '\' + cRacine;
NoeudSelected := NoeudParent;
Dec(n);
until n = 0;
Result := cRacine;
end;
end;
Appelée par
procedure TForm1.TVClick(Sender: TObject);
begin
Edit1.Text := GetRacine(TV);
end;