Thanks for the tips. I looked all around the Internet but couldn't find too much on using Tk within Ruby. Today I was trying to add the TkToplevel class and utilize the withdraw and deiconify methods. I think I have a decent start, as I have the new window created and am now trying to tackle hiding the original window. What do you folks recommend in terms of a Ruby/Tk reference guide? Should I just pick up an available Perl/Tk guide and adapt it for Ruby myself? -----Original Message----- From: Hidetoshi NAGAI [mailto:nagai / ai.kyutech.ac.jp] Sent: Thursday, November 04, 2004 7:24 PM To: ruby-talk / ruby-lang.org Subject: Re: Ruby/TK Question Hi, From: "Kujawa, Greg" <Greg.Kujawa / DiamondCellar.com> Subject: Ruby/TK Question Date: Fri, 5 Nov 2004 02:09:08 +0900 Message-ID: <B058578D93B5D41193840090276AA76769F967 / DIAMOND_EX> > The application is for a survey. I have created an initial window > where the survey taker signs in. They select their name from a > TkListbox object. When they click on a TkButton object the sign in > window exits and I record the appropriate current selection of the > listbox object. I recommend you to define a binding to the listbox for more comfortable UI. ;-) For example, ---------------------------------------------------------- $empListbox..bind('Double-Button-1', proc{button.invoke}) ---------------------------------------------------------- > My question is how would I go about creating a new window for taking > survey itself and still keep the saved selection of the listbox > object? Please use the TkToplevel class. It creates a new window object. Because the window depends on the root (or its parent) widget, when the root widget is destroyed, the window is destroyed too. If you want to hide the root widget, use {TkRoot/TkToplevel}#withdraw and deiconify method. > # Add the sign in button > button = TkButton.new(@root) { text "Sign me in!" > command proc { > indexstr = $empListbox.curselection.to_s; > indexnum = indexstr.to_i; > $taker=$employee[indexnum].to_s; > p $taker; > exit Probably, this 'exit' exits the application. -- Hidetoshi NAGAI (nagai / ai.kyutech.ac.jp)