On Oct 16, 2006, at 10:53 AM, Mer Gilmartin wrote: > Hidetoshi NAGAI wrote: >> ----<sample 5>-------------------------------------- >> @mytext = 'hi this is a test' >> testtwo = TkEntry.new(Frameone) >> testtwo.value = @mytext >> ev = TkVirtualEvent.new('Button-1', 'Return') >> testtwo.bind(ev){@mytext = testtwo.value; puts @mytext} >> ---------------------------------------------------- >> and so on. > > Trying your examples and think I understand them and what > they are doing. I have a much better idea of how to use > tkvirtual event anyway. > > But The data in the entry box goes into the > variable as soon as I click on the entry box. Not when i click > on the button. Button-1 means left click so I see why this is > so. > > How do I change the action to clicking on a button? > I was wondering if the button name instead of button-1 might do > it. But of course it doesnt. Bind 'ButtonRelease-1' and its action to your button widget. Supposing your button is referenced by the variable 'my_btn', then the following should work: my_btn.bind('ButtonRelease-1'){@mytext = testtwo.value; puts @mytext} I prefer handling a 'ButtonRelease-1' event to a 'Button-1' (an alias for 'ButtonPress-1') because it gives the user a chance withdraw from committing to a widget action to by clicking off the widget in question. If you need to bind more than one event to the button, then use a virtual event as Nagai san demonstrated. Regards, Morton