> #--- snip here ---# > require 'fox' > include Fox > class MainWindow < FXMainWindow > def draw_display > @tree = FXTreeList.new(@group1, 0, nil, 0, > (FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y| > LAYOUT_TOP|LAYOUT_RIGHT|TREELIST_SHOWS_LINES| > TREELIST_SHOWS_BOXES|TREELIST_ROOT_BOXES| > TREELIST_EXTENDEDSELECT)) @tree.create > @one = @tree.addItemLast(nil, "One", nil, nil) > @two = @tree.addItemLast(nil, "Two", nil, nil) > @three = @tree.addItemLast(nil, "Three", nil, nil) > 1.upto(30) {|x| > @tree.addItemLast(@one, "Item 1-#{x}", nil, nil) > } > end Try that. Fox widgets need to be explicitly 'created' when they are added after the application.create call. And beware calling your 'draw_display' from initialize now. The widget will be created in the first pass, then throw an error in the second pass (when it tries to create it again).