i cannot do work key down event pls give me a hand thanks this is my code: require "rubygems" require "wx" include Wx class MyFrame < Frame def initialize super(nil, #Parent :title => "RadioBox Example", #Displays on top of window :pos => [1030, 25], #or Wx::DEFAULT_POSITION :size => [250, 500] #or Wx::DEFAULT_SIZE #For the position and size arguments, you don''t need to specify Point and Size #objects anymore. See: wxRuby Overview on the doc page wxruby_intro.html ) evt_key_down() { | ev | @text_position.label = "working key down" } panel = Wx::Panel.new(self) #Parent = self = this Frame drink_choices = ["coffee", "tea", "juice", "milk"] #labels for radio buttons radios = Wx::RadioBox.new( panel, #Parent :label => "Drinks", #Label for box surrounding radio buttons :pos => [20, 5], :size => Wx::DEFAULT_SIZE, :choices => drink_choices, #The labels for the radio buttons :major_dimension => 1, #Max number of columns(see next line)--try changing it to 2 :style => Wx::RA_SPECIFY_COLS #:major_dimension value applies to columns #The :major_dimension and :style in combination determine the layout of the #RadioBox. In this case, the maximum number of columns is 1, which means #there can only be one radio button per line. Because there are 4 radio buttons, #that means there will be 4 lines, with one radio button per line. ) evt_radiobox(radios.get_id()) {|cmd_event| on_change_radio(cmd_event)} @text_widget = Wx::StaticText.new( panel, #Parent :label => "coffee", :pos => [150, 25], :size => Wx::DEFAULT_SIZE #Store a widget in an instance variable when other #methods, like the one below, need access to it. ) boton = Wx::Button.new( panel, :label => "Posicion", :pos => [20,120], :size => Wx::DEFAULT_SIZE, :style => 0, :validator => Wx::DEFAULT_VALIDATOR, :name => "button" ) evt_button(boton) {|cmd_event| on_click(cmd_event)} @text_position = Wx::StaticText.new( panel, #Parent :label => "Position", :pos => [150, 120], :size => Wx::DEFAULT_SIZE #Store a widget in an instance variable when other #methods, like the one below, need access to it. ) #When there is an event of type evt_radiobox on the widget with the id radios.get_id(), #the block is called and an "event object" is passed to the block. The block calls #the method on_change_radio(), defined below, relaying the event object to the #method. The event object contains useful information about the radio button #that was selected. show #equivalent to self.show, makes the frame visible end def on_change_radio(cmd_event) selected_drink = cmd_event.string #Selected radio''s label #Instead of calling cmd_event.get_string() or cmd_event.set_string(), you can #now call an accessor method with the same name as the property you are trying #to get or set. See: wxRuby Overview on the doc page wxruby_intro.html @text_widget.label = selected_drink end def on_click(cmd_event) @text_position.label = "testeando" end end class MinimalApp < Wx::App def on_init MyFrame.new end end MinimalApp.new.main_loop #main_loop() tells wxruby to start reacting #to radio button selections, button clicks, etc. #on your App. _______________________________________________ wxruby-users mailing list wxruby-users@rubyforge.org http://rubyforge.org/mailman/listinfo/wxruby-users