Whenever a check box is clicked by the user, the check box’s value is toggled and its callback procedure is invoked. A callback procedure is provided as an initialization argument when each check box is created.
(new check-box% [label label] [parent parent] [ [callback callback] [style style] [value value] [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 check-box%) label : (or/c label-string? (is-a?/c bitmap%))
(or/c (is-a?/c frame%) (is-a?/c dialog%) (is-a?/c panel%) (is-a?/c pane%))
((is-a?/c check-box%) (is-a?/c control-event%) . -> . any) = (lambda (c e) (void)) style : (listof (or/c 'deleted)) = null value : any/c = #f 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
If & occurs in label (when label is a string), it is specially parsed as for button%.
If style includes 'deleted, then the check box is created as hidden, and it does not affect its parent’s geometry; the check box can be made active later by calling parent’s add-child method.
If value is true, it is passed to set-value so that the box is initially checked.
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<%>.
Otherwise, sets the bitmap label for a bitmap check box. Since label is a bitmap, if the bitmap has a mask (see get-loaded-mask in bitmap%) that is the same size as the bitmap, then the mask is used for the label. Modifying a bitmap while it is used as a label has an unspecified effect on the displayed label. The bitmap label is installed only if the control was originally created with a bitmap label.
The check box’s state can be changed by the user clicking the control, and such changes do not go through this method; use the control callback procedure (provided as an initialization argument) to monitor state changes.