注册 登录
编程论坛 VB6论坛

CommonDialog1多个文件选择,窗口下拉后无反应!求教!

wxflw 发布于 2012-11-08 08:11, 706 次点击
我ShowOpen后选择文件,如果文件多选择的时候需要下拉窗口滚动条选择下面的文件,可以选择,但是在下面
 “ '选择多个文件”下面的语句没有执行,list1中没有添加选择的文件名!是什么问题?
各位老师求指点!
补充:如果不下拉滚动条,直接选择已显示的多个文件没有问题,能正常执行
代码如下:
On Error GoTo ErrH
    With CommonDialog1
       .InitDir = "C:\ "
       .FileName = " "
       .DialogTitle = "请选择图片"
       .CancelError = True
       .Filter = "图片(*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif "
       .Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer
       .ShowOpen
    '==========================================
       If Len(CommonDialog1.FileName) = 0 Then '如果没有选择文件那么结束
         Exit Sub
       End If
    End With
      List1.Clear
    '===========================================================
    '选择单个文件
        r = Split(CommonDialog1.FileName, Chr(0))   '路径
         If UBound(r) = 0 Then
            While InStr(r(0), "\") > 0
              r(0) = Right(r(0), Len(r(0)) - InStr(r(0), "\"))
           Wend
              List1.AddItem r(0)
         End If
    '=============================================================
    '选择多个文件
       Fs = Split(CommonDialog1.FileName, Chr(0))
       For i = 1 To UBound(Fs)
       For x = 0 To List1.ListCount
       If Fs(i) = List1.List(x) Then Exit For
          Next
       If Fs(i) <> List1.List(x) Then List1.AddItem Fs(i)
           Next
    '==========================================
ErrH:
    If Err = 32755 Then Exit Sub

[ 本帖最后由 wxflw 于 2012-11-8 08:30 编辑 ]
3 回复
#2
Artless2012-11-08 14:10
List1.ListCount-1
#3
wxflw2012-11-08 17:46
版主,错误没有出在你说的那里,我逐条执行发现选择文件后直接跳到了出错处理上了,我把出错处理先去掉后运行提示如下:
实时错误‘20476’
        filename缓冲区太小,不能存储选定的文件名。(增加到maxfilesize)
怎么回事??怎么做?请教,先谢谢了!
#4
wxflw2012-11-08 18:29
问题已解决:多加了个设置
       .MaxFileSize = 2048
问题解决了!!
是缓存太小了吧~~~
1