Тема. Додавання нової форми.
Компонент форма є об'єктом, відсутнім на палітрі компонентів. Щоб додати нову форму в проект, потрібно вибрати команду Файл - Створити форму або натиснути кнопку Створити форму на панелі інструментів.
Появиться нова порожня форма. Називатися вона буде Form2, а відповідний їй файл з вихідними текстами додасться в Редактор коду на нову вкладку Unit2.
Після додавання нової форми, проект потрібно зберегти.
Для показу форм можна використовувати один з двох методів: Show або ShowModal.
- метод Show призначений для показу форми в звичайному вікні,
- а ShowModal - для показу форми в модальному вікні.
Різниця між цими двома видами вікон полягає в тому, що між звичайними вікнами можна переміщатися довільним способом, а перейти в інше вікно з модального вікна можна тільки після його закриття.
Вправа 6. «Три форми»
Завдання. Створити додаток з трьома формами: Головне вікно, Звичайне вікно і Модальне вікно. Форму Звичайне вікно викликати в звичайному вікні. Для виклику форми Form3 використовувати модальне вікно. На малюнку показані головна форма і підформи нашого нового проекту.
1. Створіть новий додаток, збережіть файли проекту в папці «Три форми».
2. Додайте на формі Form1 3 кнопки, змініть властивості об'єктів .
Інтерфейс Form1
2. Створіть формуForm2. Для цього виберіть в меню Файл команду Створити форму. На екрані з'явитися нова форма Form2, в редакторі коду - нова вкладка unit2.
3. Встановіть на формі компонент RadioGroup для вибору кольору, дві кнопки
4. Створіть ще одну форму - Форма Form3, вибравши команду Файл-Створити форму. На екрані з'явитися нова форма Form3 а в редакторі коду - нова вкладка Unit3.
⇒
5. Додайте на form3 : кнопки, компонент CheckGroup та напис. Налаштуйте властивості
Програмний код для форми Form1 (модуль Unit1)
У модулі Unit1 в розділі Implementation необхідно записати директиву uses: uses Unit2, Unit3; Це необхідно для того щоб модулі Unit2, Unit3 форм Form2_ звичайне вікно і Form3_модальне вікно були видимі в головному модулі Unit1. |
Написати обробники подій для кнопок форми Form1.
implementation
uses Unit2, Unit3;
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form3.ShowModal;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
Відкриваємо програмний код форми Form2 (модуль Unit2) .
В модулі Unit2 в розділі implementation записати директиву uses:
uses Unit1;
Це необхідно для того щоб головний модуль Unit1 формиForm1 був бачимо в цьому модулі.
Програмний код кн."Підтвердити вибір кольору" . Після клацання на цій кнопці буде відбуватися зміна кольору головної форми.
implementation
uses Unit1;
{$R *.lfm}
{ TForm2 }
procedure TForm2.Button2Click(Sender: TObject);
begin
if radioGroup1.ItemIndex=0 then Form1.color:=clWhite;
if radioGroup1.ItemIndex=1 then Form1.color:=clRed;
if radioGroup1.ItemIndex=2 then Form1.color:=clBlue;
if radioGroup1.ItemIndex=3 then Form1.color:=clGreen;
end;
Програмний код кн."Перехід в головне вікно".
procedure TForm2.Button1Click(Sender: TObject);
begin
close;
end;
Переходимо в програмний код форми Form3 (модуль Unit3) .В модулі Unit3 в розділі implementation записати директиву uses:
uses Unit1;
Модуль Unit1 форми Form1 повинен бути видимий в цьому модулі.
uses Unit1;
{$R *.lfm}
{ TForm3 }
procedure TForm3.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
Form1.Width := 350;
Form1.Height := 180;
Form1.Color := clOlive;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
If CheckGroup1.Checked[0] Then Form1.Caption := 'Заголовок изменен';
If CheckGroup1.Checked[1] Then Form1.Color := clLime;
If CheckGroup1.Checked[2]
Then
begin
Form1.Width := 500;
Form1.Height := 200;
end;
end;