作者galo (john with no name)
看板Ruby
标题Re: [问题] wxruby 动态产生combobox命名问题
时间Wed Nov 10 22:12:23 2010
※ 引述《galo (john with no name)》之铭言:
: 环境:
: Ruby 1.9.1 + wxruby-ruby19 (2.0.1)
: 状况:
: 小弟在撰写的功能是使用者按下按钮後,会根据读入的资料类别
: 不同,而产生数个不等的combobox,由於读入的过程是在回圈中,而且数目
: 不固定,因此对於combobox物件产生时的命名感到很困扰。
: 而且combobox产生之後,根据combobox中选到的选项不同,必须再给
: 予相对应的事件触发,不知道该用什麽方式比较好??
: 不知道有没有人遇过相同的囧境....谢谢!
: 附录:
: 程式码大概的架构是这样…
: array1.each_with_index do |d1,x|
: list = Array.new
: array2.each_with_index do |d2,y|
: list.push(some_data) if d1 == d2
: end
: Combobox.new(self,-1,"#{d1}",[100,60+x*40],[100,30],list)
: end
後来在wxruby的网站上面终於找到了相关的做法,提供给有相写类似功能的人一个参考
动态产生的物件,一样用上面的方法建立出来,在new的时候不用给名字没关系
但是在处理combobox的event时,要这麽使用:
evt_combobox(Wx::ID_ANY) { |event|
obj = event.get_event_object()
.....
}
如此一来,触发事件的物件虽然建立时没有命名,但是还是有办法
在处理event的时候,利用一些物件的方法,如:obj.get_value
来知道现在触发event的是那个物件,进而做到对应的处理!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.86.185.69