13 12
发新话题
打印

[基础] VB中怎样打开目录窗口

VB中怎样打开目录窗口

用COMMEN DIALOG控件出来的对话框都是选择文件的,我希望能实现如附图所示的功能,打开一个目录窗口,选完后能将所选目录下的子目录和文件名罗列在一个列表框内以供选择,不知哪个高手能教教我,先谢谢了!

附件

help.JPG (7.85 KB)

2006-12-25 09:48

help.JPG

TOP

复制内容到剪贴板
代码:
换个头像,看见广告就眼红,直接封ID。

TOP

多谢老大的指点,得到目录后加一个文件列表框即可得到目录下的文件列表了,不过文件列表框周围总有一个黑色的边框,好像找不到可以去掉它的属性,真难看;如果想得到所选目录下的子目录列表可以办得到吗?还有一个小小的问题,弹出的选目录窗口怎么总是跑到屏幕左上角,有没办法让它默认在屏幕中间啊

TOP

估计你的算法要使用钩子了,在API中使用BrowseCallbackProc
你可以参考MSDN中关于BROWSEINFO。虽然都是小问题,可是在VB中,确实非常麻烦的问题。
换个头像,看见广告就眼红,直接封ID。

TOP

太复杂了也弄不来 ,文件列表框周围那一圈黑框能有办法弄掉吗?实在是感觉碍眼

TOP

我没有找到你说的那一圈黑框,如果有的话可能是系统问题。
这个API调用的是系统的文件夹对话框,调用的都是默认的,应当只与系统有关。
换个头像,看见广告就眼红,直接封ID。

TOP

找不到哪里的问题,不过我换了一个方法:把文件框藏起来,多用了一个列表框,把文件框的内容加到列表框里,呵呵,土办法,别见笑!

TOP

呵呵,其实有时候一个办法搞不定之后,迂回一下,也是非常好的。

我就经常这样干。
换个头像,看见广告就眼红,直接封ID。

TOP

今天又遇到一个奇怪的问题,如图示,090其实也是一个目录,是一个行业软件存档产生的,我尝试用Dir.list(i)将当前目录下的子目录罗列出来然后添加进一个列表框,单步执行的话,Dir.list(0)值为c:\autocam\090,但是Dir(dir.list(0),vbDirectory)的值却为空,Dir.list(1)值为c:\autocam\test,Dir(dir.list(1),vbDirectory)的值就没问题为test,这是什么原因呢?百思不得其解,向版主请教!

[ 本帖最后由 zali 于 2006-12-27 11:33 编辑 ]

附件

question.JPG (3.05 KB)

2006-12-27 11:23

question.JPG

TOP

会不会是Dir控件的一个BUG??
你有没有打SP6补丁?
还有,Dir控件不要和Dir函数重名.
换个头像,看见广告就眼红,直接封ID。

TOP

 13 12
发新话题