标题:求教一个VFP6 窗体的简单例子(附件为源码)
只看楼主
vfpp314
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2016-3-18
结帖率:66.67%
已结贴  问题点数:10 回复次数:11 
求教一个VFP6 窗体的简单例子(附件为源码)
结构功能非常简单:

一个主程序 main.prg (内容见附件源码)设置为主文件 ,运行main之后,程序运行主表单。

主表单上有一个按钮,可以打开“第二表单”,上面有“关闭按钮”可以关闭第二表单。

(以上都包含在附件里)。

目标有两个:

1、去掉周围的背景vfp窗口。(红色画线区域),功能不变。

2、禁用两个表单上的关闭“红叉子”(亮蓝色的画圈处)



无框窗体test.rar (5.51 KB)


好像需要分别设置窗体的几个属性,并且还得避免vfp的“一闪而过”问题。。。。

[此贴子已经被作者于2016-8-24 16:21编辑过]

搜索更多相关主题的帖子: color 主程序 
2016-08-24 16:19
daanlu
Rank: 1
等 级:新手上路
帖 子:52
专家分:5
注 册:2016-7-14
得分:2 
(1)prg文件:
    Set safety off
    Set talk off
    Set deleted on
    Close all
(2)表单属性的TiteBar=0


[此贴子已经被作者于2016-8-24 16:54编辑过]

2016-08-24 16:40
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:2 
1、VFP环境:_SCREEN.Visible = .F.
   编译EXE,在 config.fpw 文件加一句:
       SCREEN=OFF
2、thisform.Closable = .F.
2016-08-24 16:44
vfpp314
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2016-3-18
得分:0 
回复 2楼 daanlu
谢谢
(1)在main.prg里写了,没有效果。
(2)效果可以,只是如果把bar全部去掉。。窗口没法用鼠标移动位置了。。。
2016-08-24 17:07
vfpp314
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2016-3-18
得分:0 
回复 3楼 吹水佬
谢谢,请问不编译能实现吗?

另外,config.fpw写入SCREEN=OFF后,一运行,窗口就完全消失。只有切入到计算机的任务管理器,能看到vfp6的进程。

第二个目标能实现。


[此贴子已经被作者于2016-8-24 17:15编辑过]

2016-08-24 17:11
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:2 
以下是引用vfpp314在2016-8-24 17:11:53的发言:

谢谢,请问不编译能实现吗?
 
另外,config.fpw写入SCREEN=OFF后,一运行,窗口就完全消失。只有切入到计算机的任务管理器,能看到vfp6的进程。
 
第二个目标能实现。
不编译能实现
2016-08-24 17:56
hepingfly
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:15
帖 子:195
专家分:657
注 册:2015-5-21
得分:2 
无框窗体test.rar (5.57 KB)
只改一点属性就行.(没有让第二表单停留在主表单,也没封闭表单的最大化最小化) do main 执行


[此贴子已经被作者于2016-8-24 20:30编辑过]


星际花草
2016-08-24 20:17
hyswcyh
Rank: 8Rank: 8
等 级:贵宾
威 望:20
帖 子:391
专家分:896
注 册:2004-11-23
得分:2 
第一功能:
1、在程序目录下建立config.fpw,并将此文件添加到项目管理的其他文件里。&&说明:不编译也可以,只要和主程序、项目管理文件的同目录下即可。
config.fpw的内容如下:
screen = off
2、要将你的两个窗体都设置为顶层表单,这个自己找吧,属性里有。
第二功能:
将两个表单的Closable属性修改为.f.即可。
但是要说明的是,属性修改为.f.后,该关闭窗体按钮不可用,但仍显示在窗体的标题的最右侧。

对于你说的不能让vfp一闪而过,解决办法:
在主程序里添加如下代码:
read events
即可解决!当然添加的位置是在你调用第一个表单后。

应该可以解决你的问题!
2016-08-24 20:35
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:2 
第一个问题可以用顶层表单来解决。

活到老,学到老! http://www. E-mail:hu-jj@
2016-08-25 07:29
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:2 
问题:
1、去掉周围的背景vfp窗口。(红色画线区域),功能不变。
2、禁用两个表单上的关闭“红叉子”(亮蓝色的画圈处)
我来补充一下:
问题一:解决条件,需要3个文件(main.prg,主表单.scx,config.fpw)
* config.fpw 内容为
screen = off

* main.prg 内容一般为
public gcPath &&一般要定义1个默认路径
gcPath=LEFT(SYS(16),RAT("\",SYS(16))) &&捕捉当前运行的程序文件的位置
set default to (gcPath)
do form 主表单.scx
read events

* 主表单.scx
* 设置以下几个属性 MaxButton = F,MinButton = F ,ShowWindow =2 ,ShowWindow
* ShowWindow 一定要在表单上设置,另外2个可以在 init中设置,如
this.MaxButton = .f.
this.Closable = .f. &&解决问题2
this.MinButton = .f.

* 在 destroy 或者 unload 中
clear events


另外,其他所有的表单,都需要设置 ShowWindow =1

[此贴子已经被作者于2016-8-25 09:27编辑过]

2016-08-25 09:09



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




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

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