描述:做了几个类似的窗口(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