如何做到像微软的文件浏览器一样呢?把扫描到的文件名用列表控件显示,然后点击文件夹,就会进入子目录.列表控件就显示子目录了我这样想的:首先遍历目录,然后把扫描到的目录显示到列表控件.但是有问题,就是索引!起初我想通过multimap来保存目录路径,但是发现这个索引很难确定.比如我的我想显示D盘下的所有文件及文件夹
D盘里有三个文件夹,A B C,其中A又有3个AA AB AC文件夹,B中有文件夹,C中也有
那我怎样确定我点击B文件夹后,列表控件里显示的是B的子目录呢?

解决方案 »

  1.   

    定义一个变量记录当前路径,控件中只显示当前路径中的文件和文件夹(不包含子文件夹中的内容),改变当前路径后全部清除重新Find。
      

  2.   

    简单一点,不要搞什么索引!每次双击文件夹之后就把列表控件清空,然后重新枚举该文件夹下的所有项目,把它们填充到该列表控件就行了。文件枚举用FindFile/GetFileAttributes...
      

  3.   

    这个很简单嘛,用ctreectrl控件实现就ok了。
    两点:
    1. 不需要先遍历所有的文件及文件夹,微软也不是那么做的。
       你先遍历D盘中包含的文件和文件夹,在点击树节点的时候再遍历该节点代表的文件夹2. 你所谓的索引问题可以使用CTreeCtrl的SetItemData函数实现。
       只要把节点和路径名(全路径名)绑定就可以了。
       CMap当然也能实现,没问题。