The Button structure contains the styles, notifications and state values concerned with button controls. Buttons are windows like any other and can be constructed using CreateWindow although more usually they form part of a dialogue box. The values from the Notification substructure are sent as the code parameter in a WM_NOTIFY message. Specialised button messages begin with BM_. The values in the State substructure may be sent or returned in messages such as BM_GETCHECK and BM_SETSTATE.
structure Button:
sig
structure Style:
sig
include BIT_FLAGS where type flags = Window.Style.flags
val WS_OVERLAPPED: flags and WS_POPUP: flags and WS_CHILD: flags and WS_MINIMIZE: flags
and WS_VISIBLE: flags and WS_DISABLED:flags and WS_CLIPSIBLINGS:flags
and WS_CLIPCHILDREN:flags and WS_MAXIMIZE:flags and WS_CAPTION:flags
and WS_BORDER:flags and WS_DLGFRAME:flags and WS_VSCROLL:flags and WS_HSCROLL:flags
and WS_SYSMENU:flags and WS_THICKFRAME:flags and WS_GROUP:flags and WS_TABSTOP:flags
and WS_MINIMIZEBOX:flags and WS_MAXIMIZEBOX:flags and WS_TILED:flags and WS_ICONIC:flags
and WS_SIZEBOX:flags and WS_OVERLAPPEDWINDOW:flags and WS_TILEDWINDOW:flags
and WS_POPUPWINDOW:flags and WS_CHILDWINDOW:flags
and BS_3STATE: flags and BS_AUTO3STATE: flags and BS_AUTOCHECKBOX: flags
and BS_AUTORADIOBUTTON: flags and BS_BITMAP: flags and BS_BOTTOM: flags
and BS_CENTER: flags and BS_CHECKBOX: flags and BS_DEFPUSHBUTTON: flags
and BS_FLAT: flags and BS_GROUPBOX: flags and BS_ICON: flags and BS_LEFT: flags
and BS_LEFTTEXT: flags and BS_MULTILINE: flags and BS_NOTIFY: flags
and BS_OWNERDRAW: flags and BS_PUSHBUTTON: flags and BS_PUSHLIKE: flags
and BS_RADIOBUTTON: flags and BS_RIGHT: flags and BS_RIGHTBUTTON: flags
and BS_TEXT: flags and BS_TOP: flags and BS_USERBUTTON: flags and BS_VCENTER: flags
end
structure Notifications:
sig
val BN_CLICKED: int
val BN_PAINT: int
val BN_HILITE: int
val BN_UNHILITE: int
val BN_DISABLE: int
val BN_DOUBLECLICKED: int
val BN_PUSHED: int
val BN_UNPUSHED: int
val BN_DBLCLK: int
val BN_SETFOCUS: int
val BN_KILLFOCUS: int
end
structure State:
sig
val BST_UNCHECKED: int
val BST_CHECKED: int
val BST_INDETERMINATE: int
val BST_PUSHED: int
val BST_FOCUS: int
end
end