vb6-填充树视图

vb6-填充树视图,vb6,treeview,Vb6,Treeview,我需要用从几个路径获得的文件夹名称填充treeview。例如,我有以下几个路径: C:\admin\tester1\project\item1\abc, C:\admin\tester1\project\item2\abc, C:\admin\tester1\project\item1\def, C:\admin\tester1\project3\item2\ghi 你们能给我提供一些如何将路径放入treeview的想法或示例吗?您需要添加根节点,然后将每个级别添加为根节点的子级或父级 ' Ad

我需要用从几个路径获得的文件夹名称填充treeview。例如,我有以下几个路径: C:\admin\tester1\project\item1\abc, C:\admin\tester1\project\item2\abc, C:\admin\tester1\project\item1\def, C:\admin\tester1\project3\item2\ghi


你们能给我提供一些如何将路径放入treeview的想法或示例吗?

您需要添加根节点,然后将每个级别添加为根节点的子级或父级

' Add Node objects.
Dim nodX As Node  ' Declare Node variable.
' First node with 'Root' as text.
Set nodX = TreeView1.Nodes.Add(, , "r", "Root")

' This next node is a child of Node 1 ("r").
Set nodX = TreeView1.Nodes.Add("r", tvwChild, "child1", "Child")

' This next node is a child of Node 2 ("child").
Set nodX = TreeView1.Nodes.Add("child1", tvwChild, "child2", "Child 2")
这段代码将先添加一个名为“root”的根节点,然后添加一个名为“child”的子节点,再添加一个名为“child 2”的子节点。这是我能在这里伪造的最好的画:-)


|-儿童

||-Child 2

在表单上添加一个
TreeView
控件,然后尝试以下操作:

Option Explicit

Private Sub Form_Load()
    pvAddPath TreeView1, "C:\admin\tester1\project\item1\abc"
    pvAddPath TreeView1, "C:\admin\tester1\project\item2\abc"
    pvAddPath TreeView1, "C:\admin\tester1\project\item1\def"
    pvAddPath TreeView1, "C:\admin\tester1\project3\item2\ghi"
End Sub

Private Sub pvAddPath(oCtl As TreeView, ByVal sPath As String)
    Dim lNext           As Long
    Dim lStart          As Long

    If oCtl.Nodes.Count = 0 Then
        oCtl.Indentation = 0
    End If
    Do While lStart < Len(sPath)
        lNext = InStr(lStart + 1, sPath, "\")
        If lNext = 0 Then
            lNext = Len(sPath) + 1
        End If
        On Error Resume Next
        If lStart = 0 Then
            oCtl.Nodes.Add(, , Left$(sPath, lNext), Left$(sPath, lNext)).Expanded = True
        Else
            oCtl.Nodes.Add(Left$(sPath, lStart), tvwChild, Left$(sPath, lNext), Mid$(sPath, lStart + 1, lNext - lStart - 1)).Expanded = True
        End If
        On Error GoTo 0
        lStart = lNext
    Loop
End Sub
选项显式
专用子表单_加载()
pvAddPath树视图1,“C:\admin\tester1\project\item1\abc”
pvAddPath树视图1,“C:\admin\tester1\project\item2\abc”
pvAddPath树视图1,“C:\admin\tester1\project\item1\def”
pvAddPath树视图1,“C:\admin\tester1\project3\item2\ghi”
端接头
私有子pvAddPath(oCtl作为树视图,ByVal sPath作为字符串)
模糊的下一个一样长
黯淡的开始和漫长的
如果oCtl.Nodes.Count=0,则
八进制缩进=0
如果结束
开始时执行
查看MSDN主题:

谢谢。但是,在将每个路径拆分为几个文件夹后,我不知道它属于哪个父级。此外,如何检查根是否已经存在