Ce code permet de charger un menu contenu dans un fichier pour l'insérer dans une treeview. Ainsi le fichier est sous la forme:
Cat1
_ss-cat1
_ss-cat2
Cat2
_ss-cat1
__ss-ss-cat1
_ss-cat2
...
les "_" symbolisent un espace.
Source / Exemple :
Public Sub LoadData(File as string, twMenu as Treeview)
Dim f As Byte
Dim currentLevel As Long, lastLevel As Long
Dim lin As String, txt As String, key As Byte
Dim nodes() As Node
Dim MaxLvl As Integer
ReDim nodes(0) As Node
f = FreeFile
'ouverture fichier
Open File For Input As #f
Do
'on lit la ligne
Line Input #f, lin
'on regarde le nombre d'espace qui correspond au nombre de parents
currentLevel = Len(lin) - Len(LTrim$(lin))
txt = LTrim$(lin)
'on redimensionne le tableau si un nouveau niveau existe
If currentLevel > MaxLvl Then
MaxLvl = MaxLvl + 1
ReDim Preserve nodes(MaxLvl) As Node
End If
'On enregistre dans le tableau le noeud courant et son niveau dans l'arbre
If currentLevel <> 0 Then
Set nodes(currentLevel) = twMenu.nodes.Add(nodes(currentLevel - 1).key, tvwChild, "a" & twMenu.nodes.Count, txt)
Else
Set nodes(currentLevel) = twMenu.nodes.Add(, , "a" & twMenu.nodes.Count, txt)
End If
lastLevel = currentLevel
Loop While Not EOF(f)
Close f
End Sub
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.