中华网通行证
用户名 密码
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  

让VFP表单卸载时显示确认对话框
网友投稿 2001-04-27 13:46:19

  

齐鲁石化工程公司 曹雪梅
  (通讯地址:山东省淄博市临淄区桓公路171号 邮编:255400)


  
  在用Visual FoxPro(以下简称VFP)做系统开发时,我们有时希望表单在被关闭前能显示确认信息,给用户留有选择的余地。这在Windows程序中非常普遍,作用也是显而易见的。在VFP中要实现此功能,方法也很简单。
  
  首先,让我们来看一个VFP表单的卸载步骤:表单在卸载前,首先要询问表单的QueryUnload事件,然后再卸载表单。也就是说,QueryUnload事件是表单卸载时第一个被触发的事件。在 QueryUnload 事件过程中执行 NODEFAULT命令可以阻止表单卸载。这样我们通过在QueryUnload 事件中巧妙包含NODEFAULT,就能避免直接卸载表单。
  
  QueryUnload是怎样被触发的呢?当在代码中执行 CLEAR WINDOWS,RELEASE WINDOWS 或 QUIT 等命令时、或者当用户双击控制菜单框时、或者当用户从表单的控制菜单中选择执行“关闭”命令时,都会触发表单的 QueryUnload 事件。
  先在表单的QueryUnload事件中包含下面代码:
  
  *-- 显示包含“是”、“否”两个按钮的对话框
  nYesNo = MessageBox("确定要退出吗?",4+48+256,"提示")
  
  If nYesNo = 6 &&如果选取了“是”,则退出
   *-- 退出前要执行的代码写在这里,
   *-- 然后执行类似下面的退出代码
   ThisForm.Release
  Else &&选取了“否”,不退出
   NODEFAULT
  EndIf
  
  这样当有卸载表单的事件发生时,都会显示确认要退出的对话框:只有选取“是”,才能卸载表单。
  
  这样做是非常有用的,例如我们为了避免正在操作的数据没有保存就退出,可以在程序中使用这段代码,至于如何保存数据,不同的程序采取的方法不尽相同,这里我们不做详细讨论。
  
  需要说明的是,当在代码中直接执行 RELEASE 命令或直接调用表单的 Release 方法时,不会触发 QueryUnload 事件。因此,我们应尽量避免在代码中直接执行RELEASE 命令或调用表单的 Release 方法。取代的方法是,当要卸载表单时,转向调用表单的QueryUnload方法。
  
  例如,我们要在表单中放置一个标题为“退出”的命令按钮,用来退出这个表单,并希望在退出时能显示确认对话框,可以在这个命令按钮的Click事件代码中包含下面的命令:
  ThisForm.QueryUnload
  
  本方法在Visual FoxPro 6.0中文版环境下验证通过,操作系统为Windows 98中文版、Windows NT 4.0中文版。
  

中华网



相关报道
在VC中动态使用FoxPro数据库 (2001-04-13 14:05:16)
 
更多本栏目内容
??Windows 2000系统安全设置攻略
??Dreamweaver编写CSS需要掌握的技巧
??使用Flash MX过程中的3个小技巧
??拖IE9网站图标到Win7任务栏 精彩好礼任你拿
??从此不再耗流量?Google离线地图试用
??给瑞星添加移动存储自动杀毒功能
??一周壁纸榜单 靓丽风景伴您欢度周末
??金山网络七款软件齐升级 炫丽界面贺新春
??提升网站流量和权重 百度热榜排第一
预警:电商促销引钓鱼 七夕网购需谨慎

本站检索



中华网推荐

·国家级治脑病新药思维源
·中藏药治疗脑病新突破
·治类风湿,强直性脊柱炎
·养肾·痛风·长寿
·肝病泌尿脑萎缩新药介绍
·强直性脊柱炎康复乐园
·让中医辩证不孕不育
·国医治股骨头坏死一绝
·乙肝为何久治不愈?
·二千元垄断批发做老板
·中医中药专治前列腺
·治牛皮癣白癜风已成现实
·专治痛风病的白衣天使
·不孕不育的杏林奇葩
·专卖店零售管理系统





   

网络教室编辑信箱