Delphi 2.0
3. óra
Feladat:
Egy olyan alkalmazás készítünk, ami csak a megfelelő azonosító beírása után indul el. Az alkalmazásnak 2 menü pontja van: Beállítás, Kilép.
A beállít menüpont kiválasztása esetén egy olyan ablak jelenik meg, ahol a próbaszövegen az alapvető módosítások (szín, betűtípus, stílus) eszközölhetőek.
Megoldás:
Az első ablakunkon létrehozzuk a menüt.
A menüpontok OnClick eseményét beállítjuk:
Beállítás menüponthoz:
procedure TForm1.Bellt1Click(Sender: TObject);
begin
frmbeallitoablak.Showmodal;
end;
Kilépés menüponthoz:
procedure TForm1.Kilp1Click(Sender: TObject);
begin
close;
end;
A Form Name és Caption tulajdonságának beállítása után az OnActivate eseményhez beírjuk a következőt:
procedure TForm1.FormActivate(Sender: TObject);
begin
If Inputbox('Bejelentkezési ablak', 'Kérem gépelje be a jelszót!', '')<>'Jelszó' then
Begin
Showmessage('A megadott jelszó nem helyes, a program nem használható az Ön számára!');
close;
end;
end;
Kérünk egy új formot a File/New Form menüpont segítségével.
Kiteszünk a Formra egy ComboBox-ot, egy EditBox-ot, két darab RadioGroup-ot, egy Button-t, a Samples palettáról egy SpinEdit-et és egy GroupBox-ot, amibe 3 db ChechBox-ot rakunk.A form Name tulajdonságát beállítjuk frmbeallitoablak-ra.
Komponens | Name | Jellemző | Érték |
ComboBox1 | CbMit | Items | Előtér |
Háttér | |||
Style | DropDownList (nem lehet módosítani az értékeit) |
OnChange eseményébe írjuk be:
procedure TfrmBeallitoAblak.cbMitChange(Sender: TObject);
begin
Meret.Enabled:= cbMit.ItemIndex = 0;
Font.Enabled:= cbMit.ItemIndex = 0;
Dolt.Enabled:= cbMit.ItemIndex = 0;
Alahuzott.Enabled:= cbMit.ItemIndex = 0;
Felkover.Enabled:= cbMit.ItemIndex = 0;
end;
Komponens | Name | Jellemző | Érték |
Edit1 | Proba | Text | Próbaszöveg |
Radiogroup1 | Szin | Caption | Szín |
Items | Piros | ||
Kék | |||
Zöld |
Radiogroup1 (szin) OnClick eseményébe írjuk be:
procedure TfrmBeallitoAblak.SzinClick(Sender: TObject);
Var ASzin:LongInt;
begin
Case Szin.ItemIndex Of
0: ASzin:= clRed;
1: ASzin:= clBlue;
2: ASzin:= clGreen;
End;
If cbMit.Itemindex = 0 Then
Proba.Font.Color:= ASzin
Else
Proba.Color:= ASzin;
end;
Komponens | Name | Jellemző | Érték |
RadioGroup2 | Font | Caption | Font |
Items | Courier | ||
Arial | |||
Desdemona |
Radiogroup2 (font) OnClick eseményébe írjuk be:
procedure TfrmBeallitoAblak.FontClick(Sender: TObject);
Var AFont: String;
begin
Case Font.ItemIndex Of
0: AFont:= 'Courier New';
1: AFont:= 'Arial CE';
2: AFont:= 'Desdemona';
End;
Proba.Font.Name:= AFont;
end;
Komponens | Name | Jellemző | Érték |
GroupBox1 | Stilus | Caption | Stílus |
CheckBox1 | Dolt | Caption | Dőlt |
CheckBox2 | Alahuzott | Caption | Aláhúzott |
CheckBox3 | Felkover | Caption | Félkövér |
Mind a 3 CheckBox OnClick eseményébe a StilusClick eljárásnevet írjuk a fehér csíkra és a Stilus nevu Groupbox (ami tartalmazza a 3 CheckBox-ot ) OnClick eseményébe begépeljük a következőket:
procedure TfrmBeallitoAblak.StilusClick(Sender: TObject);
Var Ertek: TFontStyle;
begin
If (Sender As TCheckBox).Name = 'Dolt' Then
Ertek:= fsItalic
Else If (Sender As TCheckBox).Name = 'Alahuzott' Then
Ertek:= fsUnderline
Else
Ertek:= fsBold;
If (Sender As TCheckBox).Checked Then
Proba.Font.Style:= Proba.Font.Style+[Ertek]
Else
Proba.Font.Style:= Proba.Font.Style-[Ertek];
end;
Komponens | Name | Jellemző | Érték |
SpinEdit1 | Meret | MaxValue | 78 |
MinValue | 8 |
SpinEdit1 (Meret) OnChange eseménye a következő:
procedure TfrmBeallitoAblak.MeretChange(Sender: TObject);
begin
Proba.Font.Size:= Meret.Value;
end;
Komponens | Name | Jellemző | Érték |
Button1 | BtnKilepes | Caption | Kilépés |
Button1 (BtnKilepes) OnClick eseménye:
procedure TfrmBeallitoAblak.btnKilepesClick(Sender: TObject);
begin
Close;
end;