Utilisation des treeviews

Description

Petit tutoriel pour débutants en VB expliquant le fonctionnement basique des TreeViews.

Ce qu'il faut:
- Une feuille
- Un TreeView (Nom: Tree1) - Pour disposer du contrôle TreeView, allez dans Projets\Composants et sélectionnez Microsoft Windows Common Controls X.X (SP2) avec X.X étant votre version de VB (normallement)
- Un label (Nom: Label1)
- Une TextBox (Nom: TNS)
Vous disposez ça comme vous voulez ou vous télécharez le zip.
Bonne chance et à plus.

Source / Exemple :


'Code à mettre dans la feuille:
Private Const SEQUENCE = "\\"

Private Sub Form_Load()
Dim NTV As Node

Tree1.PathSeparator = SEQUENCE

'Ajoute un noeud mère nommé Janvier et qui a pour identifiant M1
Set NTV = Tree1.Nodes.Add(, , "M1", "Janvier")
'Ajoute un noeud fille de premier niveau nommé Semaine 1 qui a pour identifiant M1S1 et qui appartient au noeud mère M1
Set NTV = Tree1.Nodes.Add("M1", tvwChild, "M1S1", "Semaine 1")
'Ajoute un noeud fille de second niveau nommé Lundi qui a pour identifiant M1S1J1 et qui appartient au noeud mère M1S1
Set NTV = Tree1.Nodes.Add("M1", tvwChild, "M1S2", "Semaine 2")

Set NTV = Tree1.Nodes.Add(, , "M2", "Février")
Set NTV = Tree1.Nodes.Add("M2", tvwChild, "M2S1", "Semaine 1")
Set NTV = Tree1.Nodes.Add("M2", tvwChild, "M2S2", "Semaine 2")
Set NTV = Tree1.Nodes.Add("M2S2", tvwChild, "M2S2J1", "Jour 1")
End Sub

Private Function getLev(Node As ComctlLib.Node) As Integer
Dim str As String
Dim i As Integer

getLev = 1

str = Node.FullPath

For i = Len(str) To 1 Step -1
    If Mid(str, i, Len(SEQUENCE)) = SEQUENCE Then getLev = getLev + 1
Next
End Function

Private Sub Tree1_NodeClick(ByVal Node As ComctlLib.Node)
'Affiche le nom du noeud sélectionné ainsi que son chemin quand on clique sur un noeud
TNS = Node.Text & ": " & Node.FullPath
'Affiche le niveau (version "à l'arrache") - Tous les "keys" sont composés de deux caractères par niveau
'TNS = TNS & " (Niveau " & Int(Len(Node.Key) / 2) & ")"
'Affiche le niveau (version "propre")
TNS = TNS & " (Niveau " & getLev(Node) & ")"
End Sub

Conclusion :


Si vous voulez d'autres infos ou des fonctions plus avancées sur les TreeViews, n'hésitez pas à m'adresser un mail.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.