require 'tk' c = TkCanvas.new.pack c.bind( '1', proc{|x, y| $id = create_box(c, x, y) }, "%x %y") c.bind( 'B1-Motion', proc{|x, y| adjust_box( c, x, y ) }, "%x %y" ) $x0, $y0 = 0, 0 def create_box(c, x, y) box = TkcRectangle.new(c, x, y, x, y, 'width'=>2) c.dtag 'selected' c.addtag_withtag 'selected', box.id $x0, $y0 = x, y end def adjust_box( c, x, y ) c.coords('selected', $x0, $y0, x, y ) end Tk.mainloop