From: Hidetoshi NAGAI Date: 2004-09-02T01:10:42+09:00 Subject: [ruby-list:39986] Re: ruby/tk のイベントハンドラをまとめて設定するには? 永井@知能.九工大です. From: H.Yamamoto Subject: [ruby-list:39984] ruby/tk のイベントハンドラをまとめて設定するには? Date: Wed, 1 Sep 2004 20:43:13 +0900 Message-ID: <20040901204310.1BB00860.ocean@m2.ccsnet.ne.jp> > 安全なやりかたというのは、どういった形になりますか? 以下は参考になりますか? ----------------------------------------------------------- require 'tk' r = nil cmd = proc{|w, x, y, id| p [w, id] p TkcItem.id2obj(w, id.to_i) p w.find_withtag(id) p w.find_withtag('current') p w.find_closest(x, y) } TkCanvas.new { 3.times {|i| h = i * 50 r = TkcRectangle.new(self, 100 + h, 100 + h, 200 + h, 200 + h, :fill => :white) r.bind('1', cmd, "%W %x %y #{r.id}") # ^^^^^^^^^^^^^^^^^^ # 空白で split されて cmd に引き渡されます. # '%'置換は解釈の上で適当なクラスのオブジェクトに変換されますが, # それ以外は文字列のまま引き渡されます. # この場合は r.id を文字列化したものが渡されます. } pack } Tk.mainloop ----------------------------------------------------------- -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp