| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5619 人关注过本帖
标题:一个表单上退出按钮的问题
只看楼主 加入收藏
vfpp314
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2016-3-18
结帖率:66.67%
收藏
已结贴  问题点数:13 回复次数:18 
一个表单上退出按钮的问题
首先,我有一个“主表单”,我在上面加了一个退出按钮,里面这样写:

Clear events
thisform.release
quit

同时 我的main.prg主程序里有这样一段:

DO form 主表单.scx

Read Events &&开始事件处理:使启动封面停下来
_Screen.Show &&显示VFP主窗口
Read Events &&开始事件处理
RETURN

clea all
close all data

Quit

这里的问题是,我点击“退出”按钮就关闭了主表单,但是vfp的白色大窗口还在那里,无法退出,只能用windows的“结束进程”。。。这个问题出在哪里呢?

~~~~~~~~~~~~~~~~~~~~~~~~
是不是可以理解成我的“退出按钮”没有退出“VFP主窗口”?如果是这样的话,如何通过“退出按钮”完全退出呢?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



补充上传三版源程序,放在任意位置,运行main.prg即可:

我新上传了三版程序,请大家看看,分别是:

1、这一版点按钮变白板无法退出,而点击红叉虽然能退出但是有vfp6进程,只能三个键结束进程。
主表单 的 QueryUnload  里面没有写代码。

2、这一版点按钮变白板,而点击红叉无效
主表单 的 QueryUnload  里面写:
NODEFAULT

3、这一版点按钮变白板,红叉可退出
主表单 的 QueryUnload  里面写:
NODEFAULT

~~~~~~~~~~~~~~~~~~~~~~~~~~~
我的目的是想在这个小例子里

1、搞清楚 QueryUnload 的作用
2、实现“点按钮正常退出,而点击红叉无效”

1这一版点按钮和红叉可退出-但红叉有进程.rar (243.1 KB)


2这一版点按钮变白板-红叉无效.rar (243.07 KB)


3这一版点按钮变白板-红叉可退出.rar (243.11 KB)


[此贴子已经被作者于2016-3-29 20:53编辑过]

搜索更多相关主题的帖子: windows events 主程序 
2016-03-29 18:38
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
clear event
quit
2016-03-29 19:05
vfpp314
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2016-3-18
收藏
得分:0 
以下是引用tlliqi在2016-3-29 19:05:02的发言:

clear event
quit


谢谢,但是。。。不行,是不是因为我的主表单有几个修改:

ShowWindow  是: 2-作为顶层表单
WindowState  是: 0 -普通
WindowsType 是 : 1 -模式

这么设置的目的是在网上查了很久的“一闪而过”问题的解决方法。。。只有这样设置了。。。



2016-03-29 19:17
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:4 
以下是引用vfpp314在2016-3-29 19:17:11的发言:

 
 
谢谢,但是。。。不行,是不是因为我的主表单有几个修改:
 
ShowWindow  是: 2-作为顶层表单
WindowState  是: 0 -普通
WindowsType 是 : 1 -模式
 
这么设置的目的是在网上查了很久的“一闪而过”问题的解决方法。。。只有这样设置了。。。
 
 
 
没看明白解决问题了没有。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2016-03-29 19:45
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
在主文件程序里加上
on shutdown quit
看看

2016-03-29 20:01
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
quit
应该关闭掉才对
2016-03-29 20:02
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:4 
以下是引用vfpp314在2016-3-29 18:38:57的发言:

首先,我有一个“主表单”,我在上面加了一个退出按钮,里面这样写:

Clear events
thisform.release
quit

同时 我的main.prg主程序里有这样一段:

DO form 主表单.scx

Read Events &&开始事件处理:使启动封面停下来
_Screen.Show &&显示VFP主窗口
Read Events &&开始事件处理
RETURN

clea all
close all data

Quit

这里的问题是,我点击“退出”按钮就关闭了主表单,但是vfp的白色大窗口还在那里,无法退出,只能用windows的“结束进程”。。。这个问题出在哪里呢?

~~~~~~~~~~~~~~~~~~~~~~~~
是不是可以理解成我的“退出按钮”没有退出“VFP主窗口”?如果是这样的话,如何通过“退出按钮”完全退出呢?

按钮里面写 thisform.release 就可以
Clear events 可放到 Unload 事件里
quit 放到整个程序关闭退出时执行的最后一句

DO form 主表单.scx
Read Events &&开始事件处理:使启动封面停下来
IF _VFP.StartMode == 4
    QUIT
ELSE
    CLOSE DATABASES ALL
    clea all
ENDIF
2016-03-29 20:05
longhair
Rank: 2
等 级:论坛游民
威 望:1
帖 子:8
专家分:11
注 册:2015-12-1
收藏
得分:4 
释放表单后,按钮上的quit没能运行,紧跟后面又是read events命令和return,命令又运行不到第二个quit。程度思路还有点不明了。
2016-03-29 20:34
vfpp314
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2016-3-18
收藏
得分:0 
我新上传了三版程序,请大家看看,分别是:

1、这一版点按钮变白板无法退出,而点击红叉虽然能退出但是有vfp6进程,只能三个键结束进程。
主表单 的 QueryUnload  里面没有写代码。

2、这一版点按钮变白板,而点击红叉无效
主表单 的 QueryUnload  里面写:
NODEFAULT

3、这一版点按钮变白板,红叉可退出
主表单 的 QueryUnload  里面写:
NODEFAULT


~~~~~~~~~~~~
我的目的是想在这个小例子里:

1、搞清楚 QueryUnload 的作用
2、实现“点按钮正常退出,而点击红叉无效”

[此贴子已经被作者于2016-3-29 20:53编辑过]

2016-03-29 20:41
longhair
Rank: 2
等 级:论坛游民
威 望:1
帖 子:8
专家分:11
注 册:2015-12-1
收藏
得分:0 
为了能正常退出,第二个read events必须有地方用clear event清除掉,要不就直接注释掉那两行。
2016-03-29 20:42
快速回复:一个表单上退出按钮的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019350 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved