CommonDialog showopen 怎么确认用户按下了Open 按钮,而不是Cancel按钮

godidea 2003-12-26 10:09:15
rt
...全文
152 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidlv 2003-12-26
  • 打赏
  • 举报
回复
'定义对话框默认属性
dlg.CancelError = True '可以捕获按下cancel按钮
dlg.FileName = nFileName & ".txt"
dlg.DialogTitle = "保存日志"
dlg.Filter = "文本文档(*.txt)|*.txt|所有文件(*.*)|*.*"
dlg.ShowSave
shairy 2003-12-26
  • 打赏
  • 举报
回复
或者在Show前设一下Dialog的CancelError属性为True。如果按下Cancel,就会触发一个错误,错误号为32775。判断一下错误号就可以进行不同的处理了。但是这样必须在函数头加上On Error Resume next。
godidea 2003-12-26
  • 打赏
  • 举报
回复

解决了,楼上的不全对!!!,在第二次调用cancel时就不对
yassee 2003-12-26
  • 打赏
  • 举报
回复
楼上的很对,做个判断就好啦。
liuyanghe111 2003-12-26
  • 打赏
  • 举报
回复
按下了Open按钮,对话框的FileName属性返回选中的文件路径,按下cancel返回空字符串
一个可以显示历史的菜单 Option Explicit Dim main As New main_frm Public max_index As Integer Public myindex As Integer Private Sub close_Click() On Error Resume Next '循环语句 For Each main In Forms If main.MDIChild = True Then Unload main End If Next Dim FNum As Integer Dim strfilename As String Dim i As Integer FNum = FreeFile strfilename = App.Path & "\cdxx.ini" If Dir(strfilename) <> "" Then Kill strfilename Open strfilename For Output As #FNum For i = 1 To mnufilelist.Count - 1 Print #FNum, mnufilelist(i).Caption Next Close #FNum Exit Sub End Sub Private Sub MDIForm_Load() Dim file As Long Dim mystring As String Dim s As String Dim strfilename As String strfilename = App.Path & "\cdxx.ini" file = FreeFile() On Error Resume Next Open strfilename For Input As #file '打开文件菜单列表 Do While Not EOF(file) Line Input #file, mystring If mystring <> "" Then max_index = max_index + 1 Load mnufilelist(max_index) mnufilelist(max_index).Caption = mystring mnufilelist(max_index).Visible = True End If Loop Close #file '关闭文件菜单列表 End Sub Private Sub MDIForm_Unload(Cancel As Integer) close_Click End Sub Private Sub mnufilelist_Click(Index As Integer) If mnufilelist(Index).Caption <> "" Then Static i As Integer If i < 1 Then i = 1 main_frm.Visible = False Dim main As New main_frm main.Caption = mnufilelist(Index).Caption i = i + 1 main.Picture = LoadPicture(mnufilelist(Index).Caption) main.Show End If End Sub Private Sub open_Click() '打开带图形的窗体 CommonDialog1.Filter = "所有图形文件" & "|*.jpg; *.bmp ; *.ico ;*.gif;*.cur" CommonDialog1.ShowOpen Static i As Integer If i < 1 Then i = 1 main_frm.Visible = False Dim main As New main_frm main.Caption = CommonDialog1.FileName i = i + 1 main.Picture = LoadPicture(CommonDialog1.FileName) main.Show max_index = mnufilelist.Count Load mnufilelist(max_index) mnufilelist(max_index).Caption = CommonDialog1.FileName mnufilelist(max_index).Visible = True End Sub Private Sub exit_Click() close_Click End End Sub

7,785

社区成员

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

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