问题描述:
我在VB中使用了CommonDialog控件,设置了打开多个文散乎件
然后加入了一个按钮,代码如下
With CommonDialog
.DialogTitle = "打开"
.CancelError = False
'ToDo: 设置 mon dialog 控件的标志和属性
.Filter = "所有文件 (*.*)|*.*"
'.Flags = &H200 Or &H1000 Or &H80000
.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer
.ShowOpen
If Len(.FileName) = 0 Then
Exit Sub
End If
Filemanyaddress = .FileName
End With
Text1.Text = Filemanyaddress
但是当我运行时TEXT1这个文本框里只显示文件的目录,冲岁悉不显示文件的地址,怎么回事?
解析:
你的问题我明白
如果选择多个文件,则显示的是这些文件的文件夹名称
也就是你说的目录
你这样赋值得出来的结果就是这样的
你要进行判断将每一个文件的路径取出来
再进行显示
具体代码如下:
如果你想分行显示
先将Text的multiline=true
这是修改过后的代码,可以实现你要的功能
Private Sub Command1_Click()
With CommonDialog1
.DialogTitle = "打开"
.CancelError = False
'ToDo: 设置 mon dialog 控件的标志和属性
.Filter = "所有文件 (*.*)|*.*"
'.Flags = &H200 Or &H1000 Or &H80000
.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer
.ShowOpen
If Len(.FileName) = 0 Then
Exit Sub
End If
filemanyaddress = .FileName
End With
····························
Files = Split(filemanyaddress, Chr(0))
For i = 1 To UBound(Files) Step 1
Files(i) = Files(0) &"\" &Files(i) '连接路径和文件名,组成文件数雀正组
Next i
For i = 1 To UBound(Files) Step 1
strfilename = Files(i)
Text1.Text = strfilename &vbCrLf &Text1.Text
Next i
·····························
End Sub
CommonDialog 控件提供诸如打开和保存文件、设置打印选项、选择颜色和字体等冲正 *** 作的一组标准对话框。运行 Windows 帮助引擎时,控件还能够显示帮助。
CommonDialog 控件在 Visual Basic 和 Microsoft Windows 动态连接库Commdlg.dll 例程之间提供了接口。散衡悔为了用该控件创建对话框,必须要求Commdlg.dll 在 Microsoft Windows \System 目录下。
为了在应用程序中使用 CommonDialog 控件,应将其添加到窗体上并设置属性。控件显示的对话由控件的方法决定。运行时,调用相应方法后将显示对话框或执行帮助引擎;设计时在窗体上将 CommonDialog 控件显示成一个图标。此图标的大小不能改变。
扩展资料
“字体”对话框根据拦闭大小、颜色、样式选择字体。用户一旦在“字体”对话框中选定字体后,下列属性就会包含有关用户选项的信息。 要显示“字体”对话框 。
将 Flags 属性设置为下述 Visual Basic 常数之一:
cdlCFScreenFonts(屏幕字体)
cdlCFPrinterFonts(打印机字体)
cdlCFBoth(既可以是屏幕字体又可以是打印机字体)
警告 在显示“字体”对话框之前必须将 Flags 属性设置为这些数值之一,否则将发生字体不存在错误。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)