On this page:
new
Inherited methods:
from list-control<%>
append
clear
delete
find-string
get-number
get-selection
get-string
get-string-selection
set-selection
set-string-selection
from control<%>
command
from subwindow<%>
reparent
from window<%>
accept-drop-files
client->screen
enable
focus
get-client-handle
get-client-size
get-cursor
get-handle
get-height
get-label
get-plain-label
get-size
get-width
get-x
get-y
has-focus?
is-enabled?
is-shown?
on-drop-file
on-focus
on-move
on-size
on-subwindow-char
on-subwindow-event
on-subwindow-focus
on-superwindow-enable
on-superwindow-show
popup-menu
refresh
screen->client
set-cursor
set-label
show
warp-pointer
from area<%>
get-graphical-min-size
get-parent
get-top-level-window
min-height
min-width
stretchable-height
stretchable-width
from subarea<%>
horiz-margin
vert-margin

class

choice% : class?

  superclass: object%

  extends: list-control<%>
A choice item allows the user to select one string item from a pop-up list of items. Unlike a list box, only the currently selection is visible until the user pops-up the menu of choices.

Whenever the selection of a choice item is changed by the user, the choice item’s callback procedure is invoked. A callback procedure is provided as an initialization argument when each choice item is created.

See also list-box%.

constructor

(new choice% 
    [label label] 
    [choices choices] 
    [parent parent] 
    [[callback callback] 
    [style style] 
    [selection selection] 
    [font font] 
    [enabled enabled] 
    [vert-margin vert-margin] 
    [horiz-margin horiz-margin] 
    [min-width min-width] 
    [min-height min-height] 
    [stretchable-width stretchable-width] 
    [stretchable-height stretchable-height]]) 
  (is-a?/c choice%)
  label : (or/c label-string? #f)
  choices : (listof label-string?)
  parent : 
(or/c (is-a?/c frame%) (is-a?/c dialog%)
      (is-a?/c panel%) (is-a?/c pane%))
  callback : ((is-a?/c choice%) (is-a?/c control-event%) . -> . any)
   = (lambda (c e) (void))
  style : 
(listof (or/c 'horizontal-label 'vertical-label
              'deleted))
 = null
  selection : exact-nonnegative-integer? = 0
  font : (is-a?/c font%) = normal-control-font
  enabled : any/c = #t
  vert-margin : (integer-in 0 1000) = 2
  horiz-margin : (integer-in 0 1000) = 2
  min-width : (integer-in 0 10000) = graphical-minimum-width
  min-height : (integer-in 0 10000) = graphical-minimum-height
  stretchable-width : any/c = #f
  stretchable-height : any/c = #f
Creates a choice item. If label is a string, it is used as the label for the choice item.

If & occurs in label, it is specially parsed as for button%.

The choices list specifies the initial list of user-selectable items for the control. The initial set of choices determines the control’s minimum graphical width (see Geometry Management for more information).

The callback procedure is called (with the event type 'choice) when the user selects a choice item (or re-selects the currently selected item).

If style includes 'vertical-label, then the choice item is created with a label above the control; if style does not include 'vertical-label (and optionally includes 'horizontal-label), then the label is created to the left of the choice item. If style includes 'deleted, then the choice item is created as hidden, and it does not affect its parent’s geometry; the choice item can be made active later by calling parent’s add-child method.

By default, the first choice (if any) is initially selected. If selection is positive, it is passed to set-selection to set the initial choice selection. Although selection normally must be less than the length of choices, it can be 0 when choices is empty.

The font argument determines the font for the control. For information about the enabled argument, see window<%>. For information about the horiz-margin and vert-margin arguments, see subarea<%>. For information about the min-width, min-height, stretchable-width, and stretchable-height arguments, see area<%>.