Forçage des '+' dans un treeview

BlouMan Messages postés 93 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 2 juillet 2007 - 25 mars 2005 à 09:58
BlouMan Messages postés 93 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 2 juillet 2007 - 30 mars 2005 à 12:27
bonjour,

je voudrais savoir comment on peut forcer le fait qu'il y ait des '+' sur les noeuds 'un TreeView?

merci


<HR>
BLOU BLOU POWAA

6 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
25 mars 2005 à 21:27
Tu peux developper un peu plus ce que tu veux faire ?

Cordialement.
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
25 mars 2005 à 23:16
Les '+' apparaissent quand les noeuds du TTreeView sont repliés.
Pour replier un noeud d'un TTreeView, il faut appeler la méthode Collapse :

TreeView1.Items[0].Collapse(True);
(Le paramètre fourni en argument indique si les noeuds enfants doivent ou ne doivent pas être aussi repliés).

Pour replier tous les noeuds, il faut donc les parcourir un par un :
var
  i: integer;
begin
  with TreeView1 do
    for i :=  0  to  Items.Count - 1 do
        Items[i].Collapse(True);

end;


<HR color =#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.pourflorenceethussein.org
0
BlouMan Messages postés 93 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 2 juillet 2007
29 mars 2005 à 09:40
nan ce que je voualis dire (désolé de pas avoir été clair) c'est que je voudrais créer un arbre dynamiquement, qui se rempli à l'expand... donc je dois permettre l'expand...

à moins qu'il faille que j'ai toujours une longueur d'avance sur l'utilisateur. A savoir quand il ouvre un noued je rempli tous ses fils...


<HR>
BLOU BLOU POWAA
0
Emandhal Messages postés 194 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 octobre 2006 3
29 mars 2005 à 11:28
J'ajouterai des noeuds fictifs, histoire d'avoir le '+', et lors d'un click sur le '+', je ferais un clear des noeuds enfant et ajouter les noeuds qui m'interessent vraiment et pour chacun de ces noeuds ajouter des noeuds fictifs... Si j'ai bien compris la question bien sur...

Tout problème a sa solution... Mais en général, c'est jamais la bonne...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
29 mars 2005 à 23:10
La question ne me parait pas très claire non plus
"A savoir quand il ouvre un noued je rempli tous ses fils"

Quand il ouvre un noeud, alors celui-ci passe à l'état sélectionné. Il suffit alors d'y ajouter les noeuds que tu souhaites.
<!--StartFragment-->
var
  NewNode: TTreeNode;
begin
  with TreeView1 do
  begin
    NewNode :=  Items.AddChild(Selected, 'Nouveau noeud');
    Selected.Expand(True);
    NewNode.Focused := True;
    NewNode.Selected := True;
   end ;
end;



<HR color =#008000>Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.pourflorenceethussein.org
0
BlouMan Messages postés 93 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 2 juillet 2007
30 mars 2005 à 12:27
apparemment je suis vraiment pas clair, et quand je me relie c'est vrai que je suis pas clair...

alors voila :

je rejoins un peu mon topic sur la copie d'un treeview dans un autre...
s'il faut que je copie un arbre vraiment gros je me suis dit que pour moins faire patienter l'utilisateur au démarrage de l'application, j'allais remlpir seulement la partie utilse de l'arbre (celle qu'il voit). Donc il faut remlpir tous les noeuds affichés. Au début je voudrais remplir la racine. Et quand il l'ouvre, je voudrais remplir ses fils, etc...

du coup à ma question d'origine je voulais juste mettre la racine et permettre à l'utilisateur de "l'expander" alors qu'elle était vide et de la remplir quand il l'ouvrirait... (d'où le forçage des '+')


<HR>
BLOU BLOU POWAA
0
Rejoignez-nous