A list box gets its options from an array. An array (a list) of strings, passed into the
Shoes.app do para "Choose a fruit:" list_box items: ["Grapes", "Pears", "Apricots"] end
So, the basic size of a list box is about 200 pixels wide and 28 pixels high. You can adjust this length using the
Shoes.app do para "Choose a fruit:" list_box items: ["Grapes", "Pears", "Apricots"], width: 120, choose: "Apricots" do |list| @fruit.text = list.text end @fruit = para "No fruit selected" end
Next to the
:width style, the example uses another useful option. The
:choose option tells the list box which of the items should be highlighted from the beginning. (There's also a choose method for highlighting an item after the box is created.)
List boxes also have a change event. In the last example, we've got a block hooked up to the list box. Well, okay, see, that's a
change block. The block is called each time someone changes the selected item.
Those are the basics. Might you also be persuaded to look at the Common methods page, a complete list of the methods that all elements have?
Whenever someone highlights a new option in the list box (by clicking on an item, for instance,) its
change block is called. The block is given
self, which is the list box object which has changed.
Selects the option in the list box that matches the string given by
Moves focus to the list box. The list box will be highlighted and, if the user hits the up and down arrow keys, other options in the list will be selected.
Returns the complete list of strings that the list box presently shows as its options.
Replaces the list box's options with a new list of strings.
A string containing whatever text is shown highlighted in the list box right now. If nothing is selected,
nil will be the reply.