Checkboxes and radio boxes in Windows are considered a kind of button. The TControl object has three main flavors of switches.
Their constructors:
NewCheckBox(Parent, s) - creates a switch window object with two states, immediately setting a title for it;
NewCheckBox3State(Parent, s) - creates a window switch with three states (checked, unchecked and in an undefined state - it is painted over in dark gray in the standard color scheme);
NewRadioBox(Parent, s) - creates a radio switch, i.e. if the parent has multiple such radio switches (or radio buttons), then only one of them can be "checked" (checked). The essential difference from the TRadioBox component in the VCL lies precisely in the way of dividing radio buttons into groups, for which the RadioGroup property was responsible there.
Since all these radio buttons are buttons, they have all the general properties of controls, buttons, and, in addition, several properties specific to radio buttons are added:
Checked - reads or changes the state of the switch. To switch the radio button to the "on" state, use the SetRadioChecked method;
SetChecked(on) - "pass-through" method for initial initialization of the switch state when it is created;
SetRadioChecked - method exclusively for radio switch. Sets the radio button to checked = true, while disabling the currently enabled radio toggle on the parent window (if any). In this case, the OnСlick event is triggered for both switches: for enabled and for disabled;
Check3 - the state of the three-position switch (created by the NewCheckBox3State constructor).
In MCK, these types of controls are represented by two mirrors: TKOLCheckBox and TKOLRadioBox. In this case, the TKOLCheckBox component has a design-time property Auto3State, which, if set, tells MCK that the code for the triple radio button should be generated in the form initializer.