在VB中点击窗口右上角的关闭按钮后,它调用的是哪个函数?

解决方案 »

  1.   

    DimVar:那函数Form_QueryUnload里面写些什么语句呢?
      

  2.   

    此事件的典型用法是在关闭一个应用程序之前用来确保包含在该应用程序中的窗体中没有未完成的任务。例如,如果还未保存某一窗体中的新数据,则应用程序会提示保存该数据。当一个应用程序关闭时,可使用 QueryUnload 或 Unload 事件过程将 Cancel 属性设置为 True 来阻止关闭过程。但是,QueryUnload 事件是在任一个卸载之前在所有窗体中发生,而 Unload 是在每个窗体卸载时发生。
      

  3.   

    是这样的:
    Private Sub Form_QueryUnload(cancel, unloadmode)
      

  4.   

    调用QueryUnload事件
    QueryUnload事件决定窗体是如何关闭的。它在Unload事件之前发生,可以根据UnloadMode参数给出的窗体关闭方式来取消这个事件。
    0——从窗体控件菜单中的Close命令;
    1——从代码中调用Unload语句;
    2——终止当前的Windows操作系统;
    3——Windows任务管理器关闭应用程序;
    4——终止MDI父窗体而导致MDI子窗体关闭。Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        If UnloadMode = 1 Then
            MsgBox "退出取消!"
            Cancel = True
        End If
    End Sub
      

  5.   

    是有顺序的调用几个消息处理过程
    Form_Deactivate()失去焦点
    Form_QueryUnload()上面有解
    Form_Unload()卸载
    Form_Terminate() 销毁MSDN里很详细
    应该多看MSDN
      

  6.   

    我现在想点击右上角关闭按钮后出现一个确定对话框,那只要在Form_QueryUnload事件中写成:
       Private sub Form_QueryUnload()
        Dim MyAnswer
        MyAnswer=MsgBox("你确定要退出吗?",vbYesNo,"确认")
        if MyAnswer=vbYes then
          Unload Form
        End If
       End Sub
       但是我也想点击我自己的“退出系统“按钮时也出现以上的确认窗口,如果将以上代码Copy一下那将出现两次以上的对话框(“退出系统”按钮一次,系统Form_QueryUnload一次),若我调用Form_QueryUnload又不让调用,请问如何处理?
      

  7.   

    在退出系统按钮处,直接Unload Me就可以了。