Treeview et Flexgrid

Résolu
PrinceSilk Messages postés 56 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 26 mai 2013 - 16 janv. 2009 à 08:24
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009 - 16 janv. 2009 à 11:45
Bonjour,
Je suis en train de développer un petit programme avec un
TreeView style Explorer, les fichiers et sous dossiers apparaissant
dans une FlexGrid.
Mon problème, c'est que j'aimerai que lorsque je
double clique sur un des sous dossiers affichés dans la FlexGrid, il
ouvre le nœud dans le TreeView...
Sauf que voila, j'utilise les fonctions suivantes :

    Treeview.SetFocus
    Treeview.Nodes(Treeview.SelectedItem.Key & (Flexgrid.Row - 1)).Selected = True

A partir de ce moment la, le nœud que je désire est bien sélectionné, mais impossible d'activer

   Private Sub Treeview_NodeClick(ByVal Node As MSComctlLib.Node)

car lorsque je demande

   Treeview_NodeClick (Treeview.SelectedItem.Key)

ca marche pas car "Type incompatible"

Merci d'avance !

7 réponses

PrinceSilk Messages postés 56 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 26 mai 2013
16 janv. 2009 à 11:19
Ouep, ça marche comme ça ^^ maintenant, étape suivante, mais ça n'a plus rien à voir avec les treeview ^^

En tout cas merci d'avoir orienté ma réflexion !
3
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
16 janv. 2009 à 08:37
Bonjour,

As-tu essayé :
            TreeView.SelectedItem.Expanded = True

Bon courage

S.L.B.
<hr />
0
PrinceSilk Messages postés 56 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 26 mai 2013
16 janv. 2009 à 09:00
Oui, j'ai déjà essayé, mais le problème, c'est que l'ajout des nœuds "sous dossiers" est dynamique... donc y a pas de nœud enfant tant que

     Private Sub Treeview_NodeClick(ByVal Node As MSComctlLib.Node)

n'a pas été activé...

Merci
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
16 janv. 2009 à 09:07
Re,
Selectionne le père (sans pour cela qu'il y ait l'évenement click) et ensuite applique le déployement une fois les fils créé...

Sur mon dernier TreeView je créais dynamiquement mes noeuds enfants et j'arrivais à les déployer ... Je te donne comment je faisais :

Set ndNode = TreeView.Nodes.Add(TreeView.SelectedItem.key, tvwChild, TreeView.SelectedItem.key & "_" & intI, ligne)
' une fois tous les enfants créé :
TreeView.SelectedItem.Expanded = True

Et je faisais ca pas sur un evenement click....

S.L.B.
<hr />
0

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

Posez votre question
PrinceSilk Messages postés 56 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 26 mai 2013
16 janv. 2009 à 09:24
Le problème, c'est qu'au départ, j'ai juste les nœuds de mes disques.
Dés que je clique sur l'un d'eux, il scanne le premier niveau du disque et ajoute à la flexgrid les sous dossiers et les fichiers. Les sous dossiers sont également créés comme nœuds enfants.
Si je clique dans le treeview sur un des sous dossiers créés, il sera a son tour scanné, et ses sous dossiers et fichiers remplaceront ceux présents dans la flexgrid.
Mais si je double clique sur un dossier dans la flexgrid, il devient sélectionné dans le treeview, mais il n'est pas scanné, donc ses sous dossiers et fichiers n'apparaissent pas dans la flexgrid, et les nœuds enfants ne sous pas généré...

Evidement, je peux demander à mon programme d'effectuer le scanne en partant d'une "recomposition" du path, mais ca m'oblige à retaper une seconde fois mon code... à moins que je créé une sub dédié au scanne, et que le treeview_click fasse simplement appel à cette sub...

Je vais réfléchir la dessus en attendant que qqn trouve comme activé le treeview_click sans erreur ^^
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
16 janv. 2009 à 09:49
Tu viens toi même de donner la solution
Tu externalise ton scan et tu l'appelle quand tu cliques sur ton treeview ou sur ta grid.
C'est je pense le plus propre.... :)
Bon courage et bon coding...

S.L.B.
<hr />
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
16 janv. 2009 à 11:45
Pas de soucis...
Contente d'avoir pu t'aider... N'oubli pas de valider... Ca pourrait servir à d'autre.

S.L.B.
<hr />
0