Whenever a button is clicked by the user, the buttons's callback procedure is invoked. A callback procedure is provided as an initialization argument when each button is created.
Creates a button with a string or bitmap label. If label is a bitmap, then the bitmap must be valid (see ok? in bitmap%) and not installed in a bitmap-dc% object; otherwise, an exn:application:mismatch exception is raised.
If an ampersand (``&'') occurs in label (when label is a string), it is specially parsed; under Windows and X, the character following an ampersand is underlined in the displayed control to indicate a keyboard mnemonic. (Under MacOS, mnemonic underlines are not shown.) The underlined mnemonic character must be a letter or a digit. The user can effectively click the button by typing the mnemonic when the control's top-level-window contains the keyboard focus. The user must also hold down the Meta or Alt key if the keyboard focus is currently in a control that handles normal alphanumeric input. The ampersand itself is removed from label before it is displayed for the control; a double-ampersand in label is converted to a single ampersand (with no mnemonic underlining). Mnemonic keyboard events are handled by on-traverse-char (but not under MacOS).
The callback procedure is called (with the event type 'button) whenever the user clicks the button.
If style includes 'border, the button is drawn with a special border that indicates to the user that it is the default action button (see on-traverse-char).