Тема. Групи перемикачів (RadioGroup) та групи прапорців (CheckGroup)
На форму можна додати компоненти:
Їх використовують у разі, якщо необхідно розмістити декілька груп прапорців чи перемикачів.
-
Якщо на формі використано декілька груп перемикачів, у межах кожної з груп можна увімкнути по одному.
-
Із перемикачами та прапорцями в межах групи виконують ті самі дії, як і з окремими елементами управління на формі.
Елементи управління RadioGroup і CheckGroup мають свої особливі властивості.
- Columns - кількість стовпців елементів у групі.За замовчуванням — 1
- Itemlndex - визначає номер (починаючи з 0) елемента управління, який виділений у групі. Якщо не виділений жоден, то значення властивості дорівнює -1
- Items - містить список заголовків елементів групи. Для введення заголовків відкривається редактор, який викликають за допомогою кнопки , розташованої праворуч у рядку властивості Items
Вправа 4. Розробіть проект Кольорова форма в середовищі Lazarus, у якому форма змінюватиме свої властивості – колір і розмір залежно від обраних перемикачів у групах Колір та Розмір.
Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Кольорова_форма. Змініть значення властивості Caption об'єкта Form1 на Кольори.
1. Розмістіть на екранній формі потрібні об'єкти – групи перемикачів (radioGroup1. radioGroup2) із заголовками Колір та Розмір:
Змініть властивість Items кожної групи, увівши відповідні пояснення до перемикачів
⇒
Створіть процедуру опрацювання події: натиснуто кнопку Пуск.
У редакторі коду введіть команди для зміни значення властивості color екранної форми залежно від увімкненого перемикача. Значення цієї властивості розпочинається із літер cl, після яких записують англійською мовою назву кольору. Наприклад:
if radioGroup1.Itemlndex=0 then form1.color:=clred;
Введіть команди зміни розміру форми за зразком:
if radioGroup2.Itemlndex=0 then
begin
form1.height:=350;
forml.width:=400;
end;
Для середнього розміру оберіть висоту 450, ширину 600, а для великого – 550, 800 відповідно.
Запустіть проект на виконання. Перевірте, чи відповідають умові завдання дії, пов'язані з об'єктами управління екранної форми. Якщо є помилки – виправте їх.
Завершіть роботу з проектом і середовищем програмування.
Варіант програмного коду.
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
// элемент управления - radiogroup1
if radiogroup1.itemindex = 0 then form1.Color:= clred; // если выбран переключатель с номером 0, цвет формы меняется на красный
if radiogroup1.itemindex = 1 then form1.Color:= clyellow; // если выбран переключатель с номером 1 , цвет формы меняется на желтый
if radiogroup1.itemindex = 2 then form1.Color:= clgreen; // если выбран переключатель с номером 2 , цвет формы меняется на зеленый
// элемент управления - radiogroup 2
if radiogroup2.itemindex = 0 then // если выбран переключатель с номером 0 выполняется изменение значений ширины и высоты формы на 400*350
begin
form1.height := 350;
form1.Width:= 400;
end;
if Radiogroup2.itemindex = 1 then // если выбран переключатель с номером 1 выполняется изменение значений ширины и высоты формы на 600*450
begin
form1.height := 450;
form1.Width:= 600;
end;
if radiogroup2.itemindex = 2 then // если выбран переключатель с номером 2 выполняется изменение значений ширины и высоты формы на 800*550
begin
form1.height := 550;
form1.Width:= 800;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Color:= cldefault;
form1.height := 230;
form1.Width:= 330;
radiogroup1.itemindex := -1; // ни один из переключателей radiogroup1 не выбран
radiogroup2.itemindex := -1; // ни один из переключателей radiogroup2 не выбран
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.height := 230;
form1.Width:= 330;
end;
|
Вправа 5.
Розробіть проект Правила дорожнього руху, за яким можна визначити, чи не порушив правила дорожнього руху водій, який проїхав відстань s за час t, якщо на шляху встановлео одне із запропонованих обмежень на швидкість: 40 км/год, 60 км/год, 90 км/год. Передбачьте, що дані вводяться в текстові поля,обмеження обираються за допомогою елементів управління (Radiogroup або RadioButton) а результат виводиться у вікні повідомлення.
Інтерфейс проекту
|
Зміна властивості Items кожної групи, увівши відповідні пояснення до перемикачів
|
Програмний код проекту.
procedure TForm1.BitBtn1Click(Sender: TObject);
var s, t, v: real;
begin
s :=strtofloat(edit1.Text);
t:=strtofloat(edit2.Text);
v:=int(s/t); //целая часть числа, тип результата - вещественный
if radiogroup1.itemindex = 0 then // если выбран первый элемент группы radiogroup1
begin
if v > 40 then messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы превысили скорость',mtinformation,[mbok],0)
else messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы не нарушаете правила дорожнего движения',mtinformation,[mbok],0)
end;
if radiogroup1.itemindex = 1 then // если выбран второй элемент группы radiogroup1
begin
if v > 60 then messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы превысили скорость',mtinformation,[mbok],0)
else messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы не нарушаете правила дорожнего движения',mtinformation,[mbok],0)
end;
if radiogroup1.itemindex = 2 then // если выбран третий элемент группы radiogroup1
begin
if v > 90 then messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы превысили скорость',mtinformation,[mbok],0)
else messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы не нарушаете правила дорожнего движения',mtinformation,[mbok],0)
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
radiogroup1.itemindex := -1; {если не выделен ни один элемент группы radiogroup1 свойству itemindex
( определяющему номер элемента управления, который выделен в группе) присваивается начение -1}
edit1.Text :='';
edit2.Text :='';
messagedlg('Исходные данные сброшенны!' ,mtinformation,[mbok],0);
end;
Додавання форм в проект
Список, що розкривається
|