Ajout de TTreeNode à la racine [Résolu]

Signaler
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
-
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
-
Comment faire pour ajouter un TTreeNode à la base d'un TTreeView?
Je précise: pour ajouter un noeud au dessus de tous les autres, mêmes de ceux qui étaient à la base (level=0).

4 réponses

Messages postés
1154
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
5 avril 2012
2
Bonjour,

treeview1.Items.AddFirst( nil, 'Au dessus des autres' ) ;

Est ce que cela correspond à ta demande ?

Cordialement.
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
1
En fait, non. Je me suis mal exprimé, je voulais dire un niveau au dessus des autres.
Messages postés
1154
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
5 avril 2012
2
var
index : integer ;

treeview1.Items.AddFirst( nil, 'Racine' ) ;
for index:=1 to treeview1.items.count-1 do
begin
treeview1.Items[index].MoveTo(treeview1.items.GetFirstNode,naAddChild );
end ;

Est-ce mieux ainsi ?

Cordialement.
Messages postés
85
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2005
1
Oui, une petite correction et c'est bon merci beaucoup!!
La correction pour ceux que ça intéresse, consiste à préserver la hiérarchie en ne déplaçant que les neuds à la racine:
var
index : integer ;
begin
treeview1.Items.AddFirst(nil, 'Racine');
for index:=1 to treeview1.items.count-1 do
begin
if treeview1.Items[index].Parent= nil then
treeview1.Items[index].MoveTo(treeview1.items.GetFirstNode, naAddChild);
end;
end;