' 增加节点对象
Dim nodX As Node ' 声明一个节点变量
' 第一个节点为C盘,当然可以加入更多的盘,可以用GETDRIVETYPE来检测
Set nodX = TreeView1.Nodes.Add(, , "Root", "C:\")
Dim i As Long
Dim j As Long
j = 0
i = 1
Do While i <> 0
If (search.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY Then
'检测搜索到的文件属性是否是目录
j = j + 1
Set nodX = TreeView1.Nodes.Add("Root", tvwChild, "Child" + Str(j), Trim(search.cFileName))
End If
i = FindNextFile(ret, search)
Loop
nodX.EnsureVisible
loaditem ListView1, "C:"
End Sub
Private Sub TreeView1_Click()
Dim NowNode As Node
Set NowNode = TreeView1.SelectedItem
If NowNode.Text <> "" Then
loaditem ListView1, NowNode.Parent.Text + NowNode.Text
End If
End Sub
'---------------------------
'模块一的代码
'----------------------------
Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Public Const MAX_PATH = 260
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Public Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Public Const FILE_ATTRIBUTE_ARCHIVE = &H20
Public Const FILE_ATTRIBUTE_DIRECTORY = &H10
Public Sub loaditem(List As ListView, path As String)
Dim search As WIN32_FIND_DATA
Dim ret As Long
Dim FindKey As String
FindKey = path + "\*.*"
ret = FindFirstFile(FindKey, search)
Dim Nowitem As ListItem ' 声明LISTVIEW的条目变量.
Dim i As Long
Dim j As Long
j = 0
If ret <> 0 Then
i = 1
Else
i = 0
End If
List.View = lvwList
List.ListItems.Clear
Do While i <> 0
If (search.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) <> FILE_ATTRIBUTE_DIRECTORY Then
j = j + 1
Set Nowitem = List.ListItems.Add(j, , Trim(search.cFileName))
End If
i = FindNextFile(ret, search)
Loop