求教用一个Treeview做一个Windows资源管理器

tcrct 2006-02-28 03:06:50
用一个树视图实现一个资源管理器:

请问如何才知道一个父目录下到底有多少个子目录呢?而一个子目录下又包含有多少个子目录呢?即一个父目录下到底包含了多少层子目录?而每一层的子目录下如何区分出是一个目录还是一个文件呢?如果是一个目录的话,就进入到下一层目录,如此类推,直至到最底层.
以上功能的实现要使用到那个部件或引用?请各位举例说明!谢谢!
...全文
176 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
faysky2 2006-02-28
  • 打赏
  • 举报
回复
请问如何才知道一个父目录下到底有多少个子目录呢?而一个子目录下又包含有多少个子目录呢?即一个父目录下到底包含了多少层子目录?而每一层的子目录下如何区分出是一个目录还是一个文件呢?如果是一个目录的话,就进入到下一层目录,如此类推,直至到最底层.
-------------------------------------------------------------------
对目录进行遍历即可:

请参考 :获取某目录下的所有子目录路径及名称和文件的路径及名称

Public Sub SeachFile(ByVal strPath As String)
Dim Fso As Object
Dim Fol As Object
Dim Fil As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Fol = Fso.GetFolder(strPath)

For Each Fil In Fol.Files
Debug.Print Fil.Path '打印路径及文件名
Debug.Print Fil.Name '打印文件名
Next
For Each Fol In Fol.subfolders
Debug.Print Fol.Path '打印子目录的路径及名称
Debug.Print Fol.Name '打印子目录的名称
SeachFile Fol
Next
End Sub

Private Sub Command1_Click()
SeachFile ("C:\Test\")
End Sub
lc_mtt 2006-02-28
  • 打赏
  • 举报
回复
其实用TreeView实现资源管理器的思路也比较简单,但绝对不是一开始就把整个硬盘的目录树都加载进TreeView中,而是先加载最外层目录,在某个目录的展开事件中,实时加载其子目录,并保存一个Flag,下次展开的时候将不用再加载.
蒋晟 2006-02-28
  • 打赏
  • 举报
回复
http://ccrp.mvps.org/controls/ccrpcontrols.htm

2,506

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧