CommonDialogOpen的返回值如何调用?

ncowboy 2004-10-08 05:37:19
CommonDialogOpen的返回值如何调用?
他的返回,是什么类型?

我如何得到用户选择的文件名?
...全文
249 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Surpass 2004-10-08
  • 打赏
  • 举报
回复

'------名称-----------------作用-------------
' CdlTest 通用对话框
' CmdOpen “打开”对话框按钮
' CmdSave “另存为”对话框按钮
' CmdFont “字体”对话框按钮
' CmdColor “颜色”对话框按钮
' CmdPrint “打印”对话框按钮
' CmdHelp “帮助”对话框按钮
'-------------------------------------------

'当“颜色”对话框按钮被按下时
Private Sub CmdColor_Click()
On Error Resume Next
CdlTest.CancelError = True
CdlTest.Flags = cdlCCRGBInit
CdlTest.ShowColor
If Err = cdlCancel Then Exit Sub
TextBoxColor.ForeColor = CdlTest.Color
End Sub

'当“字体”对话框按钮被按下时
Private Sub CmdFont_Click()
On Error Resume Next
'当用户按下“取消”按钮,返回一个错误信息,这样使我们可以对其进行控制
CdlTest.CancelError = True
'此句必须要
CdlTest.Flags = cdlCFBoth + cdlCFEffects
'显示“字体”对话框
CdlTest.ShowFont
'出现“取消”错误时,跳出
If Err = cdlCancel Then
Exit Sub
Else
'将TextBox的字体属性根据“字体”对话框的变化作相应设置
'如果用户选择了字体才将字体改变,避免字体为空的错误
If CdlTest.FontName <> "" Then
TextBoxFont.FontName = CdlTest.FontName
End If
TextBoxFont.FontSize = CdlTest.FontSize
TextBoxFont.FontBold = CdlTest.FontBold
TextBoxFont.FontItalic = CdlTest.FontItalic
TextBoxFont.FontStrikethru = CdlTest.FontStrikethru
TextBoxFont.FontUnderline = CdlTest.FontUnderline
End If
End Sub

'当“帮助”对话框按钮被按下时
Private Sub CmdHelp_Click()
On Error Resume Next
'设置 HelpCommand 属性,显示 Visual Basic 帮助目录主题
CdlTest.HelpCommand = cdlHelpForceFile

'指定帮助文件
Dim fullpath As String
If Right(App.Path, 1) = "\" Then ' 若 App.Path 为根目录
fullpath = App.Path + "test.hlp"
Else
fullpath = App.Path + "\" + "test.hlp"
End If
'上面是得到应用程序所在路径的小技巧

CdlTest.HelpFile = fullpath
'显示“帮助”对话框
CdlTest.ShowHelp
End Sub

'当“打开”对话框按钮被按下时
Private Sub CmdOpen_Click()
'出现错误时跳到下一语句
On Error Resume Next
CdlTest.CancelError = True
'属性DialogTitle是要弹出的对话框的标题
CdlTest.DialogTitle = "打开文件"
'缺省的文件名为空
CdlTest.FileName = ""
'属性Filter是文件滤器,返回或设置在对话框的类型列表框中所显示的过滤器。
'语法object.Filter [= 文件类型描述1 |filter1 |文件类型描述2 |filter2...]
CdlTest.Filter = "文本文件(.txt)|*.txt"
'Flags属性的用法依据不同的对话框而变,详细使用需要查找联机帮助手册
CdlTest.Flags = cdlOFNCreatePrompt + cdlOFNHideReadOnly
CdlTest.ShowOpen
If Err = cdlCancel Then Exit Sub
TextBoxOPen.Text = CdlTest.FileName
End Sub

'当“打印”对话框按钮被按下时
Private Sub CmdPrint_Click()
On Error Resume Next
CdlTest.CancelError = True
'显示“打印”对话框
CdlTest.ShowPrinter
If Err = cdlCancel Then Exit Sub
End Sub

'当“保存”对话框按钮被按下时
Private Sub CmdSave_Click()
On Error Resume Next
CdlTest.CancelError = True
CdlTest.DialogTitle = "保存文件"
CdlTest.FileName = ""
'解释见上面
CdlTest.Filter = "文本文件(*.txt)|*.txt"
CdlTest.Flags = cdlOFNCreatePrompt + cdlOFNHideReadOnly
CdlTest.ShowSave
If Err = cdlCancel Then Exit Sub
TextBoxSave.Text = CdlTest.FileName
End Sub

lxcc 2004-10-08
  • 打赏
  • 举报
回复
CommonDialogOpen的返回值如何调用?
他的返回,是什么类型?
//字符串

我如何得到用户选择的文件名?
Private Sub Command1_Click()
CommonDialog1.CancelError = False
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
MsgBox CommonDialog1.FileName
Else
MsgBox "未选择文件"
End If
End Sub
frankwong 2004-10-08
  • 打赏
  • 举报
回复
on error goto Err
commondialog.showopen
用户选择的文件名=commondialog.filename
exit sub
Err:
if err=32755 then exit sub '用户点击取消时

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧