当前位置: 代码迷 >> PB >> 动态打开窗口解决方法
  详细解决方案

动态打开窗口解决方法

热度:8   发布时间:2016-04-29 06:09:23.0
动态打开窗口
本帖最后由 lsuperdavid 于 2012-11-16 15:01:08 编辑
描述:做了几个类似的窗口(w_ypcx_1,w_ypcx_2),点击窗口上的某一控件(sle_1),弹出都是用同一个虚拟键盘窗口(w_keyboard),然后点击虚拟键盘用于查询条件输入,输入的内容都在w_ypcx_1上,也就是输入事件这样写
w_ypcx_1.sle_1.text = w_ypcx_1.sle_1.text + upper(ls_name)

问题:这段代码能不能动态?如:
w_ypcx_2.sle_1.text = w_ypcx_2.sle_1.text + upper(ls_name)

------解决方案--------------------
window lw_ypcx1,lw_ypcx2

openwithparm(lw_ypcx1,'w_ypcx','标识1')
openwithparm(lw_ypcx2,'w_ypcx','标识2')

这样写更好一些
------解决方案--------------------
第二次看这个帖子,好像明白楼主的意思啦

楼主是想两个窗口之间实时的传送数据吧?

如果两个窗口都开着的话,无法通过closewithreturn传送信息的。

刚试验了一下,楼主的代码,
w_keyboard 里可以下代码直接更改  w_ypcx_1.sle_1.text 值的,
也就是你自己的代码就可以实现你的目的
------解决方案--------------------
zhangyangziwo说的应是楼主的意思了
//在对应窗口的控件事件中分别写
openwithparm(w_keyboard,'w_ypcx_1')
////////////
openwithparm(w_keyboard,'w_ypcx_2')
////////////
//在w_keyboard的open事件中接收标志,保存在局部变量中,is_bz
////////////
is_bz = Message.StringParm
////////////
//输入事件可通过局部变量中,is_bz进行区分
////////////
if is_bz ='w_ypcx_1' then
w_ypcx_1.sle_1.text = w_ypcx_1.sle_1.text + upper(ls_name)
end if 
if is_bz ='w_ypcx_2' then
w_ypcx_2.sle_1.text = w_ypcx_2.sle_1.text + upper(ls_name)
end if 



  相关解决方案