Markboxes (my name for this class) are controls with a field that leaves a
mark when it is clicked by the mouse. You can associate text with
a markbox either at it's creation or at any other time using
setText(). A CheckBox can have 2 states (on & off) which
toggle with each mouse click. A TriCheckBox has 3 states (on, off
& grayed). A RadioButton has 2 states (on & off) but it's
behaviour is influenced by any other sibling RadioButtons. As a
RadioButton is clicked all the other ones will be cleared. this
is the default behaviour from Windows. An application can
determine a button's state by sending it a BM_GETCHECK or
BM_GETSTATE message; the application can set a button's state by
sending it a BM_SETCHECK or BM_SETSTATE message.