Board logo

标题: [基础] VB中怎样打开目录窗口 [打印本页]

作者: zali    时间: 2006-12-25 09:48     标题: VB中怎样打开目录窗口

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

图片附件: help.JPG (2006-12-25 09:48, 7.85 KB) / 该附件被下载次数 614
http://bbs.lihuasoft.net/attachment.php?aid=606


作者: Nothing    时间: 2006-12-25 12:40

<
作者: zali    时间: 2006-12-25 13:42

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

估计你的算法要使用钩子了,在API中使用BrowseCallbackProc
你可以参考MSDN中关于BROWSEINFO。虽然都是小问题,可是在VB中,确实非常麻烦的问题。
作者: zali    时间: 2006-12-26 09:04

太复杂了也弄不来 ,文件列表框周围那一圈黑框能有办法弄掉吗?实在是感觉碍眼
作者: Nothing    时间: 2006-12-26 10:32

我没有找到你说的那一圈黑框,如果有的话可能是系统问题。
这个API调用的是系统的文件夹对话框,调用的都是默认的,应当只与系统有关。
作者: zali    时间: 2006-12-26 11:00

找不到哪里的问题,不过我换了一个方法:把文件框藏起来,多用了一个列表框,把文件框的内容加到列表框里,呵呵,土办法,别见笑!
作者: Nothing    时间: 2006-12-26 15:02

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

我就经常这样干。
作者: zali    时间: 2006-12-27 11:23

今天又遇到一个奇怪的问题,如图示,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 (2006-12-27 11:23, 3.05 KB) / 该附件被下载次数 588
http://bbs.lihuasoft.net/attachment.php?aid=607


作者: Nothing    时间: 2006-12-27 19:49

会不会是Dir控件的一个BUG??
你有没有打SP6补丁?
还有,Dir控件不要和Dir函数重名.
作者: zali    时间: 2006-12-28 10:35

还有补丁啊?这个倒是不知道,我的版本如下:

图片附件: vision.JPG (2006-12-28 10:35, 11.21 KB) / 该附件被下载次数 512
http://bbs.lihuasoft.net/attachment.php?aid=608


作者: Nothing    时间: 2006-12-28 10:51

打完补丁后的版本是9782

下载地址:
http://www.lihuasoft.net/download/show.php?id=25
作者: zali    时间: 2006-12-28 11:20

多谢指点!




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0