让VFP表单卸载时显示确认对话框

让VFP表单卸载时显示确认对话框,第1张

让VFP表单卸载时显示确认对话框,第2张

在使用Visual FoxPro(以下简称VFP)进行系统开发时,我们有时希望窗体在关闭前能显示确认信息,给用户留一个选择的余地。这在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中文版。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 让VFP表单卸载时显示确认对话框

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情