К содержанию

Переключатели и флажки в Delphi

Переключатель (зависимый переключатель) позволяет выбрать единственное значение из определенного множества значений, представленного группой переключателей. Он может находиться в выбранном или не выбранном состоянии. Одновременно можно выбрать только один переключатель в группе.

Флажок (независимый переключатель) отличается от переключателя тем, что в группе флажков одновременно можно установить флажки в любой комбинации. Флажок может находиться в установленном или сброшенном состоянии.

Флажок представлен компонентом ChekBox. Он выглядит как прямоугольник с текстовым заголовком. Если в нем есть галочка, то опция включена (флажок отмечен).

Для определения состояния флажка используется свойство Checked логического типа (по умолчанию – False, флажок снят).

Пользователь может переключать состояние флажка щелчком мыши. Что отражается на свойстве Checked. Флажок можно переключить с помощью клавиши пробел, при условии, что компонент находится в фокусе ввода.

При каждом щелчке пользователя на индикаторе его состояние изменяется, проходя в общем случае последовательно через три значения: выделение (появление черной галочки), промежуточное (серое окно индикатора и серая галочка) и не выделенное (пустое окно индикатора). Этим трем состояниям соответствуют три значения свойства компонента State:
— cbChecked;
— cbGrayed;
— cbUnchecked.

Эти три состояния допускаются только при значении другого свойства AllowGrayed равном true. Если же AllowGrayed = false (значение по умолчанию), то допускается только два состояния: выделенное и не выделенное.

Промежуточное состояние обычно используется, если индикатор применяется для отображения какой-то характеристики объекта. Например, если индикатор призван показать, какой регистр использовался при написании какого-то фрагмента текста, то в случае, если весь текст написан в верхнем регистре индикатор может принимать выделенное состояние, если в нижнем — не выделенное, а если использовались оба регистра — промежуточное.

В индикаторе CheckBox надпись задается свойством Caption, а ее размещение по отношению к индикатору – свойством Alignment.

Переключатель представлен компонентом RadioButton, который отображается в виде кружка с текстовым заголовком (при выбранном состоянии в кружке появляется черная точка).

Свойство Caption содержит надпись, появляющуюся около кнопки. Значение свойства Alignment определяет, с какой стороны от кнопки появится надпись. Свойство Checked определяет, выбрана ли данная кнопка пользователем, или нет. Поскольку в начале выполнения приложения обычно надо, чтобы одна из кнопок группы была выбрана по умолчанию, ее свойство Checked надо установить в true в процессе проектирования.

Переключатели обычно располагаются по группам (форма Form, панель Panel, группа GroupBox). Выбор переключателя является взаимоисключающим, т.е. при выборе одного переключателя другие становятся не выбранными.

Когда в группе выбран один их переключателей, то его состояние нельзя поменять повторным щелчком, как для флажков. Отмена выбора происходит только при выборе другого переключателя из этой же группы.

В Delphi есть специализированный компонент RadioGroup, представляющий собой группу переключателей RadioButton.

Управлением числом и названиями переключателей производится с помощью свойства Items. Доступ к отдельному переключателю можно получить через свойство ItemIndex (позиция переключателя).

Свойство Columns задает число столбцов, на которое разбиваются переключатели при расположении в группе.

Добавить комментарий

Частые вопросы

Чем страница «Переключатели и флажки в Delphi» отличается от главной Языки программирования Pascal и Delphi?

Это отдельная карточка или рубрика, а не дубль главной. Канонический адрес — текущий URL без www и с https.

Стоит ли покупать «Переключатели и флажки в Delphi» только по этому тексту?

Нет. Текст помогает сравнить варианты, но финальный выбор зависит от вашего сценария, бюджета и актуальной оферты продавца.

Есть ли смысл читать FAQ, если уже есть рейтинг?

Да. FAQ отвечает на типовые вопросы выбора, рейтинг — на сравнение позиций. Это разные блоки одной страницы.

Что это за материал «Переключатели и флажки в Delphi»?

Это редакционный разбор на Языки программирования Pascal и Delphi: коротко, кому подходит тема, какие критерии сравнения важны и где проверить актуальные условия у поставщика.