IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] TreeView -- faire la différence entre le parent et l'enfant


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Points : 144
    Points
    144
    Par défaut [VB6] TreeView -- faire la différence entre le parent et l'enfant
    Bonjour Tous

    C'est la premiere fois que je travaille avec le controle TreeView dans VB6 et je dois avouer que je suis en train de m'arracher les cheveux

    Mon tree fonctionne comme suit : j'ai 4 parents à la base (root), et 3 des parents ont des enfants. Le 4e parent n'aura JAMAIS d'enfant.

    Je dois etre en mesure de savoir lorsque l'usager click sur un enfant. A partir de cet enfant, mon logiciel exécute d'autres traitement deja en place.

    J'utilise donc pour cela la fonction NODECLICK du treeview comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TreeMFG_NodeClick(ByVal Node As MSComctlLib.Node)
    MsgBox Node
    End Sub
    Je me rend compte que la variable Node renvoit le string de la node.

    Ca marche bien la plupart du temps sauf que lorsque l'usager click sur un parent, cet événement est également appellé avec le nom du parent.

    Ma question est celle-ci : à ce point ci de mon raisonnement, comment puis-je faire afin de distinguer si l'usager click sur un parent ou un enfant?? Lorsqu'il click sur un parent, je ne veux pas que la procédure TreeMFG_NodeClick fasse quoi que ce soit...

    Merci de votre precieuse aide
    Rien n'est impossible à celui qui n'a pas à le faire
    DBA. Je travaille avec SQL-9, SQL-10

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Voilà comment detérminer un noeudenfant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
    If not Node.Root = Node Then MsgBox "enfant"
    End Sub

  3. #3
    Membre habitué Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Points : 144
    Points
    144
    Par défaut
    Merci Tofalu mais ce code ne fonctionne que si le root est unique. Dans mon cas, les 4 parents sont au root, donc si je clique sur le parent qui est 2e ca me répond que c'est un enfant.

    Je viens d'essayer ceci est ca fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Node.Parent Is Nothing Then msgbox "Enfant"
    Merci beaucoup
    Rien n'est impossible à celui qui n'a pas à le faire
    DBA. Je travaille avec SQL-9, SQL-10

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Effectivement, tu as raison. Je suis désolé.
    Encore merci d'avoir corrigé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VB6 Comment Faire : "Dialogue entre 2 machines"
    Par C_Mila dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/03/2007, 14h59
  2. Faire la diff entre nom log des données et du log
    Par maitrebn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/02/2006, 19h56
  3. [C#] [XML] Insérer un noeud entre un parent et ses enfants
    Par frechy dans le forum Windows Forms
    Réponses: 10
    Dernier message: 04/04/2005, 15h52
  4. [VB6][DataReport] Faire un calcul
    Par Jokeur dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 24/07/2003, 16h10
  5. [VB6] : pour faire un Randomize sous vb... merci
    Par delnic dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/01/2003, 15h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo