窗口模式。0 :无模式;1 : 模式有什么区别?

yuanzhang 2004-11-01 11:18:47
我改了窗体的WINDOWS TYPE ,可是觉得没有什么变化,这个属性在什么时候用?
...全文
190 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2004-11-02
  • 打赏
  • 举报
回复
1、建一个顶层表单作为主表单,在此表单的Init事件中:do 菜单名.mpr with this,.t.(此表单即为菜单所在的表单)
2、建一个菜单,要把菜单的<常规选项>中<顶层表单>和<替换>选中。操作如下:
打开你的菜单,点击VFP菜单的“显示”(View)->“常规选项”(General Options)->选中“顶层表单”(Top-Level Form),位置(Location)设置成“替换”(Replace)
击VFP菜单中的“菜单”(Menu)->“生成”(Generate)->出现窗口后,点击“生成”(Generate)。

3、其它子表单的ShowWindow为“在顶层表单中”,并且WindowsType的值为1(即模式表单)。

4、建一个程序(prg)为项目的主文件。在这个程序中调用一个主表单,Prg的内容参考如下:
CLOSE DATA
_screen.visible=.f.
set date to YMD
SET CENTURY ON
SET HOURS TO 24
set safe off
set talk off
set sysmenu to
set exclusive on
set event on
...........
do form 表单A &&表单A为你的主表单名
Read Events
...........

5、这样当执行程序时,菜单和主表单为活动的,当执行一个子表单时,菜单为不可选,即不活动。
hhhyw 2004-11-02
  • 打赏
  • 举报
回复
请教大侠:我在8.0中就是这么做的,但是菜单确是活动的,请问是怎么回事?
hhhyw 2004-11-02
  • 打赏
  • 举报
回复
to : apple_8180(十豆三)
引用:1、建一个顶层表单作为主表单,此表单中并含用菜单,此表单为无模式表单。
2、其他所在表单均设为在顶层表单中,为模式表单。

如果有表单运行(除主表单外),菜单均为不活动的。

请教大侠,我在VFP8.0

十豆三 2004-11-02
  • 打赏
  • 举报
回复
1、建一个顶层表单作为主表单,此表单中并含用菜单,此表单为无模式表单。
2、其他所在表单均设为在顶层表单中,为模式表单。

如果有表单运行(除主表单外),菜单均为不活动的。
LAIYANGPJ 2004-11-02
  • 打赏
  • 举报
回复
你要是的确想让它变为不活动的有两种方法.
1.用SET SKIP OF
2.在菜单中把菜单选项定义为跳过,调用时再返回.F.
LAIYANGPJ 2004-11-01
  • 打赏
  • 举报
回复
以上清风是对的,不过它们有个共同点就是不能控制主菜单.
dfwxj 2004-11-01
  • 打赏
  • 举报
回复
模式表单必须关闭当前表单才能返回其他表单,无模式表单不关闭当前表单即可以操作其他表单
hhhyw 2004-11-01
  • 打赏
  • 举报
回复
在VFP8.0中,模式表单状态下能控制菜单!6.0中确实能使菜单处于不活动状态。
请问各位大侠8.0中如何实现在模式表单下使得用户无法控制菜单?
十豆三 2004-11-01
  • 打赏
  • 举报
回复
模式表单一般地被用来处理错误报告,或者请求用户确认操作等。
在模式表单中,菜单不能使用。如果需要,模式表单也提供应用“等待状态”。
非模式表单提供更多的灵活性,它允许用户通过菜单操作,在表单中移动。

如果当前表单为模式表单。其他表单对象不能成为活动的,菜单也不活动。而表单集中的所有表单对象则是活动的。

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧