vb6 msgbox的确定按钮可以把确定改成其他字(自订)吗?

Home Home
引用 | 编辑 troy_liaw106
2011-02-20 22:47
楼主
推文 x0
我想要像记事本关闭时跳出来的msgbox一样,在上面显示储 ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 ebolaman
2011-02-21 21:37
1楼
  
Form 的 QueryUnload 事件中加上判断即可

使用者按下 Form 的 右上角 X 时会触发这个事件


参数部分:

Cancel 为是否要取消离开的动作 (某些视窗关不掉就有可能是 不管使用者怎么点 此项都设为 1)
UnloadMode 请参考 知识+



复制程式
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

'--------------- Specify Value ----------------
Dim HasNotSaved As Boolean '纪录文字在储存后 或 刚开始后 是否已被变动
HasNotSaved = True
'----------------------------------------------


If HasNotSaved Then
    Select Case UnloadMode
    Case 1 To 3
        'Measure of Backup
    '-------------------
    Case Else
        Select Case MsgBox("尚未储存。 是否要储存目前的变更?", vbQuestion + vbYesNoCancel + vbDefaultButton1, "这不是记事本")
        Case vbYes
          'Save to Files
        Case vbNo
          'Exit Directly
        Case vbCancel
          Cancel = 1
        End Select
    '--------------------
    End Select
End If


End Sub




以上用 HasNotSaved 模拟记事本中文字已被修改,则此项为 True

在离开时被侦测到,而 除了 UnloadMode 2~3 是不正常的关闭外(可采用备份措施)

通常都是使用者按下 X 会让 UnloadMode = 0 而就是最内层的 Select Case … End Select



最核心的程式码如下:

复制程式
        Select Case MsgBox("尚未储存。 是否要储存目前的变更?", vbQuestion + vbYesNoCancel + vbDefaultButton1, "这不是记事本")
        Case vbYes
          'Save to Files
        Case vbNo
          'Exit Directly
        Case vbCancel
          Cancel = 1
        End Select


至于快捷键则是 预设 就有了

献花 x1
引用 | 编辑 A2737612
2013-01-02 10:42
2楼
  
拿去看看

献花 x0