标题:关于单个表单能否编译为EXE文件的探讨。已提供示例供大家下载。
只看楼主
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:0 
实际应用中,不禁用窗口标题栏上的关闭按钮,而又想在关闭表单时执行“退出”按钮中的代码,还有一种方法:
在表单的 QueryUnload 事件中输入以下代码:
NODEFAULT
THIS.cmdExit.Click

泉城飞狐
2016-01-12 08:16
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
以下是引用liuxingang28在2016-1-12 08:13:39的发言:

我已经测试过,将表单的 closable 属性设为 .t.后,表单的关闭按钮可用。将“退出”按钮中的 clear events 移至表单的 destory 事件代码后,单击“退出”按钮或标题栏上的“关闭”按钮后,都能正常退出系统。
你不妨再测试一下。
vfp9测试,不能正常退出系统。
2016-01-12 15:57
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
得分:0 
FoxPro For Windows Ver. 2.5B 也可以只用一个表单文件创建一个 EXE 文件,不需要 PRG 文件,但 FPW 的表单文件叫屏幕文件 SCX。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-01-12 17:19
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
得分:0 
1. Project 中 Chinkin.Scx 设置为主文件:


2. 打开/编辑 Chinkin.Scx 屏幕文件的界面:


3. 运行 EXE 文件的界面:

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-01-12 17:36
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
回复 8楼 liuxingang28
谢谢 飞狐老师回帖回得这么仔细,受益匪浅,很多细节上的东西,你不指出来我还真不知道,但是要想提高,不注意细节不行,尤其现在和别人合作搞项目的时候,一个控件命名不规范,确实会让别人难读,老师指点得对,再次感谢。
2016-01-13 01:54
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
按下面事件代码测试了一下:

** this.Load
ASTACKINFO(a程序)
SET DEFAULT TO ADDBS(JUSTPATH(a程序[2]))     
STRTOFILE("form.load"+0h0D0A, "tmp.txt")

** this.Init
STRTOFILE("form.init"+0h0D0A, "tmp.txt", 1)

** this.Activate
IF !EMPTY(this.Tag)
    RETURN
ENDIF
this.Tag = "1"
STRTOFILE("form.Activate READ EVENTS"+0h0D0A, "tmp.txt", 1)
READ EVENTS

** this.GotFocus
IF this.Tag > "1"
    RETURN
ENDIF
this.Tag = "2"
STRTOFILE("form.GoFocus"+0h0D0A, "tmp.txt", 1)

** this.QueryUnload
STRTOFILE("form.QueryUnload CLEAR EVENTS"+0h0D0A, "tmp.txt", 1)
CLEAR EVENTS

** this.Destroy
STRTOFILE("form.Destroy"+0h0D0A, "tmp.txt", 1)

** this.Unload
STRTOFILE("form.Unload"+0h0D0A, "tmp.txt", 1)

**
thisform.Release
STRTOFILE("Command1.Click CLEAR EVENTS"+0h0D0A, "tmp.txt", 1)
CLEAR EVENTS

点窗口标题关闭按钮顺序:
form.load
form.init
form.Activate READ EVENTS
form.GoFocus
form.QueryUnload CLEAR EVENTS
form.Destroy
form.Unload

点Command1关闭按钮顺序:
form.load
form.init
form.Activate READ EVENTS
form.GoFocus
Command1.Click CLEAR EVENTS
form.Destroy
form.Unload



[此贴子已经被作者于2016-1-13 09:20编辑过]

2016-01-13 09:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460984-1-1.html




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

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