动态创建控件的时候绑定事件的方法
By
admin
at 2018-05-11 • 2人收藏 • 1671人看过
今天在论坛看到有人想要实现动态创建控件,并且这些事件想利用一个方法解决。
上面回复有好多中办法了,我这里也想到一种办法。
import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add() /*}}*/ var btTab = { cls="button"; text="button"; left=173; top=40; right=344; bottom=77; //z=1; oncommand = function(id,event){ owner.msgbox(owner.text); } } for(i=1;5;1){ winform.add( ["button"++i] = table.clone(btTab); ) btTab.text = "button"++i; btTab.top += 42; btTab.bottom += 42; } winform.show() win.loopMessage();
不要看上面这么几句代码, 俗话说装逼一分钟,就得努力十分钟。真不是假的,虽然心里已经有了这么个想法, 但是要写成代码就比较难了。
思路:
之前看到过官方有些库里就是动态生成控件并且绑定了事件的,找了下,嗯,那个listbox的双击编辑算一个,plus的文本编辑模式算一个,于是打开这两个库
首先看到了listbox的
原来是这么直接就添加进去了啊。。。。。
那么就测试下,直接写入
oncommand = function(id,event){ owner.msgbox(owner.text); }
成功了....
其实真实的过程中,我还去看了帮助手册里windows消息大全,还想过用onnotify....
装逼真不是一件容易的事。
1 个回复 | 最后更新于 2019-10-15
登录后方可回帖
最近也在研究,怎么样可以保存起来窗体加载时读取到上次创建的按钮