表单在被关闭前能显示确认信息
有时我们希望表单在关闭前显示一条确认消息,让用户有选择的余地。这在Windows程序中很常见,效果也很明显。在VFP实现这个功能,方法也很简单。
首先我们来看看卸载一个VFP表单的步骤:卸载表单之前,先询问表单的QueryUnload事件,然后卸载表单。也就是说,QueryUnload事件是表单卸载时触发的第一个事件。在QueryUnload事件期间执行NODEFAULT命令可以防止表单被卸载。这样,我们可以通过在QueryUnload事件中巧妙地包含NODEFAULT来避免直接卸载表单。
查询卸载是如何触发的?当代码中执行CLEAR WINDOWS、RELEASE WINDOWS或QUIT等命令时,或者当用户双击控件菜单框时,或者当用户从窗体的控件菜单中选择执行Close命令时,都会触发窗体的QueryUnload事件。
首先,在表单的QueryUnload事件中包含以下代码:
*-显示一个对话框,有两个按钮“是”和“否”
nYesNo = MessageBox("确定要退出吗?",4+48+256," prompt")
如果nYesNo = 6 &&如果选择了" Yes ",则退出
*-退出前要执行的代码写在这里,
*-然后执行退出代码
this form . release
else & &像下面这样。如果选择“否”,它将不会退出
nodefault
endif
,因此当卸载表单的事件发生时,
这样做非常有用。例如,我们可以在程序中使用这段代码,以避免我们正在操作的数据没有保存就退出。至于如何保存数据,不同的程序采用不同的方法,这里就不详细讨论了。
需要注意的是,在代码中直接执行RELEASE命令或者直接调用窗体的释演法时,不会触发QueryUnload事件。所以要尽量避免直接执行RELEASE命令或者在代码中调用窗体的释演法。相反,当您想要卸载表单时,请转到表单的QueryUnload方法。
比如我们想在窗体中放置一个标题为“Exit”的命令按钮来退出这个窗体,我们希望在退出时显示确认对话框。可以在该命令按钮的Click事件代码中包含以下命令:
This form . query unload
该方法已在Visual FoxPro 6.0中文版环境中得到验证,操作系统为Windows 98中文版和Windows NT 4.0中文版。
0条评论