我没有研究TShellTreeView,但我想它和资源管理器一样,使用了一种狡猾的做法:
不是搜索全部的目录,而只是搜索两层——当前层和下一层,搜索下一层是为了看是否要显示“+”,所以也不需要全部进行,只需要看有没有下一层目录。在展开下一层时再进行搜索。因而比你的做法快多了。

解决方案 »

  1.   

    sure
    windows explorer的确是这样实现的
    你可以设置TreeNode的HasChild = true
    但是没有child节点
    当用户点击时引发OnExpanding
    事件时加入检查和装入目录的代码
    记住,如果没有子目录,可以将HasChild := false
      

  2.   

    shelltreeview 是你展开节点时,它才去取这个节点下的东西,但只取一层的,刚初始化时只取出设定的根节点的内容。这与资源管理器类似。shelltreeview 用的是 shell 编程。
      

  3.   

    shelltreeview 是你展开节点时,它才去取这个节点下的东西,但只取一层的,刚初始化时只取出设定的根节点的内容。这与资源管理器类似。shelltreeview 用的是 shell 编程。
      

  4.   

    楼上的,我对shell编程了解的不多,能不能告诉一下哪里有这方面的资料啊
    谢谢