Как использовать полный путь при добавлении
пунктов в TreeView
Следующая функция позволяет добавлять пункты в
TreeView используя полный путь вместо того, чтобы
добавлять каждый элемент дерева в отдельности:
Public Sub AddPathToTree(Tree As TreeView, Path As String)
Dim PathItem As String
Dim NewItem As String
Dim PathLen As Integer
Dim c As String * 1
Dim i As Integer
'Добавляем обратный слэш в качестве разледителя
If Right$(Path, 1) <> "\" Then Path = Path & "\"
PathLen = Len(Path)
'Ищем в полном пути обратные слэши
For i = 1 To PathLen
c = Mid$(Path, i, 1)
If c = "\" Then
If PathItem = "" Then
'Добавляем корневую ветвь в дерево
On Error Resume Next
Tree.Nodes.Add , , "\" & NewItem, NewItem
PathItem = "\" & NewItem
Else
'Добавляем следующую дочернюю ветвь
Tree.Nodes.Add PathItem, tvwChild, PathItem _
& "\" & NewItem, NewItem
PathItem = PathItem & "\" & NewItem
End If
NewItem = ""100
Else
NewItem = NewItem & c
End If
Next i
End Sub
Теперь при вызове этой функции достаточно в
качестве параметра передать ей полный путь. Все
необходимые ветви (если они ещё не существуют)
будут добавлены автоматически:
AddPathToTree TreeView1, _
"RootLevel\Child1\Child2\Child3\Child4"
|