Зависимые переключатели. Компоненты RadioButton, RadioGroup
Кнопка переключателя может находиться в одном из двух состояний: включено или выключено. Будучи помещенными в контейнер, зависимые переключатели используются для выбора одной опции из нескольких взаимоисключающих, т.е. при включении одной кнопки, другие автоматически выключаются. Таким образом, во включенном состоянии всегда находится одна кнопка. Поэтому они объединяются в группу. Контейнером называется элемент, который используется для группировки других элементов. Например, контейнером может быть форма или компонент GroupBox. На вкладке Standart находятся два компонента, которые позволяют создавать зависимые переключатели: RadioButton и RadioGroup.
Компонент RadioButton позволяет создать один переключатель. Свойства приведены в таблице:
Основные свойства компонента RadioButton
Свойство | Описание |
Caption | Подпись кнопки. |
Checked | Если True, то кнопка находится во включенном состоянии |
Компонент RadioGroup представляет собой группу радиокнопок. Только одна кнопка в группе может находиться во включенном состоянии. Основные свойства компонента RadioGroup приведены в таблице:
Свойство | Описание |
Caption | Подпись группы |
Columns | Число колонок в группе |
Items | Массив, содержащий названия кнопок в группе |
ItemIndex | Номер выбранного элемента, нумерация с нуля |
Для демонстрации работ RadioButton выполним несложное упражнение. Поместим компонент GroupBox в область формы, поместим два компонента RadioButton в GroupBox, т.е. GroupBox является для них контейнером. Зададим подпись всей группы: «Выбрать пол» и подписи кнопок: «мужской», «женский». С помощью ShowMessage отобразим выбор пользователя. Форма имеет следующий вид:
На кнопку «Что Вы выбрали?» напишем обработчик:
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if Radiobutton1.Checked then
ShowMessage('Men');
if Radiobutton2.Checked then
ShowMessage('Woman');
end;
Для демонстрации работы RadioGroup выполним следующее упражнение: создадим группу переключателей с названиями цветов. При выборе пользователем кнопки с цветом форма меняет свой цвет на выбранный. Поместим компонент RadioGroup в область формы, с помощью свойства Caption зададим название группы, с помощью свойства Items зададим названия кнопок. Вид формы:
На событие OnClick компонента RadioGroup напишем обработчик:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: color:=clWhite;
1: color:=clBlue;
2: color:=clRed;
end;
end;
Обратите внимание, при задании свойства формы вместо того, чтобы писать: Form1.color, мы пишем – color, т.е. не задаем имя объекта. В этом случае система полагает, что имеется ввиду свойство текущего окна.
Задания для самостоятельной работы
1. Разработать простой калькулятор на четыре арифметических операции. Внешний вид окна:
2. Разработать кнопочный калькулятор, подобный тому, что в Windows, внешний вид окна может быть, например, таким:
Контрольные вопросы
1. Разветвляющийся алгоритм, чем он отличается от линейного алгоритма?
2. Для чего используется логический тип данных?
3. Какие значения может принимать переменная логического типа?
4. Как задать переменную логического типа?
5. Какие операции определены на логическом типе данных?
6. Какой оператор языка Pascal позволяет задать разветвляющийся алгоритм?