CTreeCtrl的问题
毒行江湖 2011-01-15 05:59:47 我现在做了一个对话框,上面放了三个属性页。其中有一个属性页是放的CTreeCtrl控件,显示的是资源目录树;另外一个属性页上面有个Button,是打开资源目录用的,就是说触发了这个按钮后出来一个选目录的对话框,然后选择文件夹之后返回一个路径,我想达到的效果是在这个选择目录的操作完成之后,当我查看CTreeCtrl所在页面的时候能看到CTreectrl控件已经能看到这个目录下的所有文件。
现在的进度:
1、给定初始路径,在初始对话框的时候遍历路径下的文件并使之显示在CTreeCtrl上,没问题。
2、选择目录对话框的功能,用SHBrowseForFolder做好了,并得到了正确的路径,没问题。
问题是:
1、在遍历新目录之前需要导入文件夹路径,而在上面得到的是形如“E:\a\b\c”的格式(类型是CString),在调用CFileFind::FindFile(LPCTSTR pstrName)的时候是不是应该改成形如“E:\\a\\b\\c”的格式?如果需要的话,怎么改,我自己写个for循环一个一个字符地检查然后移动能替换(我只能想到这样的笨方法,囧),但是我想知道能不能使用CString所提供的函数来组合出一个高效的方法来实现这样的功能。
2、在获得新目录之后,如果我要只遍历新目录下的文件,是不是要直接DeleteAllItem,然后就可以InsertItem了?如果我想把新目录与旧目录(比如是D:\e\f)都显示,还要把新目录的主目录(即c)放在与旧目录的根目录(即f)同级的位置,应该怎么办?
请各位大侠帮忙看看,或者,有没有这方面的例子,给我个。不胜感激。