Переключатель (зависимый переключатель) позволяет выбрать единственное значение из определенного множества значений, представленного группой переключателей. Он может находиться в выбранном или не выбранном состоянии. Одновременно можно выбрать только один переключатель в группе.
Флажок (независимый переключатель) отличается от переключателя тем, что в группе флажков одновременно можно установить флажки в любой комбинации. Флажок может находиться в установленном или сброшенном состоянии.
Флажок представлен компонентом ChekBox. Он выглядит как прямоугольник с текстовым заголовком. Если в нем есть галочка, то опция включена (флажок отмечен).
Для определения состояния флажка используется свойство Checked логического типа (по умолчанию – False, флажок снят).
Пользователь может переключать состояние флажка щелчком мыши. Что отражается на свойстве Checked. Флажок можно переключить с помощью клавиши пробел, при условии, что компонент находится в фокусе ввода.
Эти три состояния допускаются только при значении другого свойства AllowGrayed равном true. Если же AllowGrayed = false (значение по умолчанию), то допускается только два состояния: выделенное и не выделенное.
Промежуточное состояние обычно используется, если индикатор применяется для отображения какой-то характеристики объекта. Например, если индикатор призван показать, какой регистр использовался при написании какого-то фрагмента текста, то в случае, если весь текст написан в верхнем регистре индикатор может принимать выделенное состояние, если в нижнем — не выделенное, а если использовались оба регистра — промежуточное.
В индикаторе CheckBox надпись задается свойством Caption, а ее размещение по отношению к индикатору – свойством Alignment.
Переключатель представлен компонентом RadioButton, который отображается в виде кружка с текстовым заголовком (при выбранном состоянии в кружке появляется черная точка).
Свойство Caption содержит надпись, появляющуюся около кнопки. Значение свойства Alignment определяет, с какой стороны от кнопки появится надпись. Свойство Checked определяет, выбрана ли данная кнопка пользователем, или нет. Поскольку в начале выполнения приложения обычно надо, чтобы одна из кнопок группы была выбрана по умолчанию, ее свойство Checked надо установить в true в процессе проектирования.
Переключатели обычно располагаются по группам (форма Form, панель Panel, группа GroupBox). Выбор переключателя является взаимоисключающим, т.е. при выборе одного переключателя другие становятся не выбранными.
Когда в группе выбран один их переключателей, то его состояние нельзя поменять повторным щелчком, как для флажков. Отмена выбора происходит только при выборе другого переключателя из этой же группы.
В Delphi есть специализированный компонент RadioGroup, представляющий собой группу переключателей RadioButton.
Управлением числом и названиями переключателей производится с помощью свойства Items. Доступ к отдельному переключателю можно получить через свойство ItemIndex (позиция переключателя).
Свойство Columns задает число столбцов, на которое разбиваются переключатели при расположении в группе.