当前位置: 代码迷 >> PB >> 打开响应式窗口可以与此同时操作其他窗口吗
  详细解决方案

打开响应式窗口可以与此同时操作其他窗口吗

热度:56   发布时间:2016-04-29 07:52:21.0
打开响应式窗口可以同时操作其他窗口吗?
我有一个显示窗口和一个编辑窗口(响应式窗口),在显示窗口中点编辑打开编辑窗口。当我打开编辑窗口,因为编辑窗口是response类型的窗口,所以无法对其他的显示窗口进行进行操作。我现在想要的效果是在一个显示窗口中打开一个编辑窗口,同时又能操作其他显示窗口。而且编辑窗口必须是响应式的,因为显示窗口要接受编辑窗口的返回值。请问各位大侠有什么好方法没?
------解决方案--------------------
如果编辑窗口用了response类型,那其他窗口肯定不能得到焦点了

你只能把编辑窗口改成其他类型了,比如pop的

传参数的方法倒是还可以选择其他的,比如用个全局变量
------解决方案--------------------
1,改编辑窗口为POPUP!
2,用全局变量来传递参数
------解决方案--------------------
“同时又能操作其他显示窗口”和“我有一个显示窗口”不是同一个窗口吧?

同一个应用程序中,打开了response窗口后,其他窗口都不能响应了。

那可以把“同时又能操作其他显示窗口”这个窗口放在别的应用程序里。

但有必要在操作response窗口时操作其他窗口么?

------解决方案--------------------
如果显示窗口是mdi子窗口,则在MDI父窗口的 pbm_enable 对应的事件(需要新建,默认没有该事件)中写
this.enabled = true

如果显示窗口不是mdi子窗口,则直接在窗口的 pbm_enable 对应的事件(需要新建,默认没有该事件)中写
this.enabled = true

------解决方案--------------------
reponse窗口打开时,不能操作别的窗口
如果你想操作别的窗口,就不能用reponse。可以考虑用child窗口
------解决方案--------------------
如果编辑窗口用了response类型,那其他窗口肯定不能得到焦点了

------解决方案--------------------
引用:
response窗口在激活时,会将父窗口的enabled属性设置为false

学到东西了~

那可以直接在response窗口里加个事件,用代码来设置需要操作窗口的enabled属性,然后在open事件里用post来调用,这样更灵活点。

比如response窗口新建个窗口事件:ue_open
代码:if isvalid(w_demo) then demo.enabled = true
open事件:post event ue_open()

要编辑哪个窗口,就在ue_open事件里设置哪个窗口的enabled属性
------解决方案--------------------
引用:
这样处理不行的,只能是response的父窗口可用一次,当再次将焦点给回response窗口时,response的父窗口的enabled属性又会被设置为false了,还是按我在 4楼 写的那样处理比较好


呵呵,在open里写确实有这个问题,那就写在activate里面:
activate事件:post event ue_open()