commondialogcommondialog如何加载多个文件。

来源:百度知道 编辑:UC知道 时间:2024/09/22 07:06:06
在.net种有openfiledialog能同时加载多个文件,在VB6种只有commondialog控件,怎么能按住shif键同时加载多个文件呢,请高手指点。

CommonDialog控件的Flags属性有一个标志cdlOFNAllowMultiselect。利用这个标志可以实现多选。如:
CommonDialog1.Flags = CommonDialog1.Flags + cdlOFNAllowMultiselect
无论是在 Windows NT 4.0 还是在 Windows 95 中,如果 cdlOFNAllowMultiselect 标志被单独使用,都不能支持长文件名。这是因为多重文件名要包括空格分隔符,而长文件名也可能包括空格符。在 Windows NT 3.5 中,无法避免这种情况。如果使用 cdlOFNAllowMultiselect,就不能看到长文件名。如果在 Windows 95 中添加 cdlOFNExplorer 标志,就可以既能文件多选,又能看到长文件名。但是,这些文件名是用空字符Chr(0)分隔符,而不是空格分隔符隔开。因此,cdlOFNAllowMultiselect 和 cdlOFNExplorer 一起使用时,在 Windows 95 和 Windows NT 3.5中需要不同的文件名所得结果的语法分析。
当使用 cdlOFNAllowMultiselect 标志时,可能希望增加 MaxFileSize 属性的尺寸以便对所选文件名有足够的内存。MaxFileSize 属性要分配内存以便存储所选的一个或多个文件的实际名称。该属性的范围是 1-32K。缺省值是 256。
下面是一个例子:
Private Sub Command1_Click()
Dim I As Integer
Dim Y As Integer
Dim Z As Integer
Dim FileNames$()

CommonDialog1.FileName = ""
CommonDialog1.Filter = "All Files|*.*"
CommonDialog1.Flags = cdlOFNAllow