Comment se servir d'une treeview?

Résolu
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004 - 16 juil. 2004 à 12:41
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 23 août 2004 à 09:58
Bonjour!

jai ajouté à ma form 3 treeview mais jarrive pas à voir comment sen servir....

En fait je voudrais rajouter en fonction du fichier dune filelist, son filename ds lun des trois treeview...

comment le mettre en parent ou en children? J'ai pas réussi à trouver sur le net des liens concernant cette commande, si vous en avez n'hésitez pas!

Merci!

"j'aime bien les arbres... :-|

19 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juil. 2004 à 15:20
Voila, de tête ca donne ca...

Public Function Add ( FileName as string , FilePath as string)
    if Not Treeview1.nodes ( FilePath & "" & FileName ) Is Nothing Then
           MsgBox "Noeux deja existant "
           Exit Function
    End If 
    Treeview1.Nodes.Add FilePath, tvwchild , Key:=FilePath & "" & FileName , Text:=FileName
End Function

Private Sub TreeView1_NodeClick ( Node as Node )
     Msgbox "Noeud Selectionné : " & Node.Key
End Sub
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 août 2004 à 14:37
a = "MonFichier.ext"
a=  left$ ( a , instrrev ( a , ".")-1)


Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 juil. 2004 à 12:46
Il faut jouer avec l'objet Nodes :

TV.Nodes.Add key:="papa" , text:="papa"
TV.Nodes.Add "papa" , tvwchild , text:="fils1"
TV.Nodes.Add "papa" , tvwchild , text:="fils2"
0
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004
19 juil. 2004 à 14:28
Salut merci!

Comment faire pour automatiser l'ajout de node car le nom est unique et pourtant chaque click de ma command je voudrais kil majoute le fichier en surbrillance de la filelist.

Par contre y a t-il un moyen de stocker dans le noeud le fichier afin de l'utiliser comme une espèce de variable.

Parce que je voudrais réutiliser chaque node et non juste les afficher en tant que labels.

Merci !

"j'aime bien les nodes, ca me fait penser à C&C... :-|"
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 juil. 2004 à 15:43
tu peux utiliser la propriété .Tag de tes objets Node.

la propriété Key DOIT etre unique. Cependant, elle est facultative....
0
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004
27 juil. 2004 à 15:05
Re salut!

Bon ben, je comprends pas comment utiliser TAG pour mon cas....

J'ai vu qu'on pouvait y mettre n'importe koi mais bon, c un peu abstrait pour moi.

J'ai donc mes nodes que je rajoute au fur et à mesure et grâce à la key facultative, je remplis à volonté!

Mes questions sont les suivantes :

- comment utiliser TAG?
- comment faire pour ne pas rajouter le même fichier vu que les keys ne permettent plus de distinguer un noeud d'un autre.
- comment accéder à un noeud puisqu'il na plus de key...

Merci!

"j'aime bien les GDI... :-|
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 juil. 2004 à 15:49
tu peux mettre le chemin dans la Key.... ;-)

le Tag !! c'est simplement Node.tag = 5
0
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004
28 juil. 2004 à 08:30
Mais j'ai un gros problème, comme je veux me servir d'un bouton pour rajouter un fichier ou des fichiers d'une filelist dans le treeview.

Mais si je mets une key, eh ben peux plus men reservir et si je pas de key eh ben peux pas lui assigner un lien pr le retrouver...

Enfin jai l'impression detre coince..

merci!

"j'aime bien les click... :-|
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juil. 2004 à 08:47
euh.......

tu peux avoir des doublons, dans ton TreeView ?

parce que normallement :
C:\Programmes\Toto.pdf

ben, c'est unique ;)
0
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004
28 juil. 2004 à 09:45
je veux dire que ds ma filelist, jai une liste de fichiers et quand je clique sur mon bouton (justement appelé ADD), eh ben ledit fichier se rajoute ds le treeview.

Mais c un peu comme si je voulais faire mon marché, en choisissant un autre fichier et recliquer sur ADD.

Et aussi je voudrais pouvoir le faire à partir de la sélection de plusieurs fichiers.

C'est pourquoi, une fois que j'appuie sur ADD, il est figé si je lui mets une key et si je lui en mets pas(ce ke me permet de rajouter à foison mes fichiers... enfin juste leur nom koi...) mais du coup, c'est plus tellement intéressant vu ke ce sont que labels sans aucun lien dans le treeview. (doù le TAG?)

Voilà dc mes pbs sont :

1/ est ce ke c possible (je suppose ke oui mais avec mes connaissances...) de pouvoir assigner à chaque node un lien vers le fichier select (et aussi ds le cas multiselect.. )
2/ ne connaissant pas bien la gestion d'un treeview, comment marche les decla pr par ex gerer l'evenement click d'un node ou sa selection (en surbrillance)
3/ dans le cas ou je n'ai pas defini de key particuliere, comment à l'ajout d'un node bloquer l'ajout lorsque c le meme fichier?

merci pour le coup de main!

"j'aime po les nuages... :-(
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juil. 2004 à 10:29
tu souhaites ajouter tout plein de fichier dans un Treeview....

ces fichiers seront chacun un Node de l'arbre avec :
- le nom du fichier dans le .Text
- le chemin complet dans le .Key

de telle sorte, il sera possible de savoir si un noeud particulier existe, et possible également de retrouver un noeud a partir du chemin d'un fichier....

non ?
0
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004
28 juil. 2004 à 13:27
ouais

mais tu pourrais me montrer un exemple de decla, plize?

pour la gestion du click du node, par ex.

merci!

"j'aime bien être busy..."
0
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004
2 août 2004 à 13:37
Resalut!

Comment faire pour ne pas avoir l'extension du fichier lorsque on recupere le filename?

Merci!

"j'aime bien les nuages... :-|
0
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004
17 août 2004 à 16:09
Rebonjour

merci pr ta réponse, quand j'ajoute des éléments à mon treeview, je fais des fois une multisélection. Mais le seul nom de fichier qui est rajouté est le dernier.

Comment faire pour ts les prendre en compte ds la sélection.

Que faut il modifier dans mon

importfilename:=File1.Path & "" & File1.List(File1.ListIndex)


Merci !

"j'aime bien ne pas clicker un par un... :-("
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 août 2004 à 02:25
Il ne te faut pas utiliser la prtopriété ListIndex, qui indique l'element qui a le focus....

mais le tableau Selected

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004
23 août 2004 à 08:27
oui j'ai trouvé cette propriété un peu plus tard mais je me trouve devant un autre problème :

Il me prend tout mon contenu de repertoire et non la selection!

Voici mon code :

strItem = File1.List(ilist)
  If SendMessage(List1.hwnd, _
                LB_FINDSTRING, _
                 -1&, _
                 ByVal strItem) = LB_ERR Then
                 For ilist = 0 To File1.ListCount - 1
                 If (File1.Selected(ilist)) Then List1.AddItem Left$(strItem, InStrRev(strItem, ".") - 1)
                 Set mapframe1 = shapes.addbasemap(importfilename:=File1.Path & "" & strItem)
                 mapframe1.Overlays.Item(1) = Left$(strItem, InStrRev(strItem, ".") - 1)
                 Next ilist
                 Else
                 mouk = MsgBox("File Name already added!!!", vbOKOnly)
  End If


merci!

"j'aime bien les nuages... :-|
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 août 2004 à 09:48
tu ne remets pas a jour strItem

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0
cs_darkbol Messages postés 61 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 6 décembre 2004
23 août 2004 à 09:53
heu c'est à dire?

c lui qui prend le selected?

:question)

dark
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 août 2004 à 09:58
<s>rItem = File1.List(ilist)</s>
If SendMessage(List1.hwnd, _
LB_FINDSTRING, _
-1&, _
ByVal strItem) = LB_ERR Then
For ilist = 0 To File1.ListCount - 1
rItem = File1.List(ilist)
If (File1.Selected(ilist)) Then List1.AddItem Left$(strItem, InStrRev(strItem, ".") - 1)
Set mapframe1 = shapes.addbasemap(importfilename:=File1.Path & "" & strItem)
mapframe1.Overlays.Item(1) = Left$(strItem, InStrRev(strItem, ".") - 1)
Next ilist
Else
mouk = MsgBox("File Name already added!!!", vbOKOnly)
End If


Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0
Rejoignez-nous