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.
|→ (is-a?/c check-box%)|
|label : (or/c label-string? (is-a?/c bitmap%))|
|style : (listof (one-of/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, the bitmap must be valid (see ok? in bitmap%) and not installed in a bitmap-dc% object; otherwise, an exn:fail:contract exception is raised. 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; furthermore, in contrast to the limitations of draw-bitmap in dc<%>, non-monochrome label masks work consistently on all platforms. 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.