When I try to work with menus I get the following error message after selecting "Red" from the colour menu. The following code produces the following error message. What am I doing wrong and how do I fix it. Thank you in advance. - Philip EtestApp.rb:57:in `do_Red'': undefined method ===>`check''<==== for 109:Fixnum (NoMethodError) from EtestApp.rb:34:in `initialize'' (now line 125) Etest.rb # This class was automatically generated from XRC source. It is not # recommended that this file is edited directly; instead, inherit from # this class and extend its behaviour there. # # Source file: Etest.xrc # Generated at: Sun Oct 11 20:05:09 -0600 2009 class EyesFrame < Wx::Frame attr_reader :m_statictext7, :m_textrednumber, :m_statictext9, :m_textgreennumber, :m_statictext11, :m_textbluenumber, :m_buttonchange, :m_menubar1, :m_menu1, :m_miexit, :m_menucolour, :m_mired, :m_migreen, :m_miblue, :m_miwhite def initialize(parent = nil) super() xml = Wx::XmlResource.get xml.flags = 2 # Wx::XRC_NO_SUBCLASSING xml.init_all_handlers xml.load("Etest.xrc") xml.load_frame_subclass(self, parent, "MyFrame") finder = lambda do | x | int_id = Wx::xrcid(x) begin Wx::Window.find_window_by_id(int_id, self) || int_id # Temporary hack to work around regression in 1.9.2; remove # begin/rescue clause in later versions rescue RuntimeError int_id end end @m_statictext7 = finder.call("m_staticText7") @m_textrednumber = finder.call("m_textRedNumber") @m_statictext9 = finder.call("m_staticText9") @m_textgreennumber = finder.call("m_textGreenNumber") @m_statictext11 = finder.call("m_staticText11") @m_textbluenumber = finder.call("m_textBlueNumber") @m_buttonchange = finder.call("m_buttonchange") @m_menubar1 = finder.call("m_menubar1") @m_menu1 = finder.call("m_menu1") @m_miexit = finder.call("m_miexit") @m_menucolour = finder.call("m_menuColour") @m_mired = finder.call("m_miRed") @m_migreen = finder.call("m_miGreen") @m_miblue = finder.call("m_miBlue") @m_miwhite = finder.call("m_miwhite") if self.class.method_defined? "on_init" self.on_init() end end end Etest.App.rb begin require ''rubygems'' rescue LoadError end require ''wx'' require ''Etest.rb'' class AppFrame < EyesFrame # Inherit from the generated base class and set up event handlers # set up pen and brush colours @red_value = 0 @green_value = 0 @blue_value = 0 # Create Needed Brushes and Pens BG_BRUSH = Wx::Brush.new @fg_pen = Wx::Pen.new @font = Wx::NULL_FONT @text_colour = Wx::NULL_COLOUR def initialize() super() @font = Wx::Font.new(50,Wx::FONTFAMILY_TELETYPE, Wx::FONTSTYLE_NORMAL,Wx::FONTWEIGHT_NORMAL) BG_BRUSH.set_colour(255,0, 0) # Setup the actual data to be stored in Brushes and Pens do_rndValues evt_button(@m_buttonchange) { do_rndValues } evt_paint { on_paint } evt_menu(@m_mired) { do_Red} evt_menu(@m_migreen) { do_Green } evt_menu(@m_miblue) { do_Blue } evt_menu(@m_miwhite) { do_white } end def do_rndValues @red_value = rand(255) @green_value = rand(255) @blue_value = rand(255) @m_textrednumber.label = @red_value.to_s @m_textgreennumber.label = @green_value.to_s @m_textbluenumber.label = @blue_value.to_s refresh() end def do_Red() @red_value = 255 @green_value = 0 @blue_value = 0 @m_textrednumber.label = @red_value.to_s @m_textgreennumber.label = @green_value.to_s @m_textbluenumber.label = @blue_value.to_s @m_mired.check(true) @m_migreen.check(false) @m_miblue.check(false) @m_miwhite.check(false) refresh() end def on_paint # We do our drawing now rect = self.get_client_size paint do |dc| gdc = Wx::GraphicsContext.create(dc) # draw rectangle temp_brush = gdc.create_brush(BG_BRUSH) gdc.set_brush(temp_brush) x = 0 y = 0 w = 300 h = 260 gdc.draw_rectangle(x,y,w,h) end # paint do end # on paint end Wx::App.run do AppFrame.new.show end -- Posted via http://www.ruby-forum.com/.