Lekce 2.12
Zßkladnφ udßlosti formulß°e


p°edchozφ lekce (2.11) obsah kurzu nßsledujφcφ lekce (2.13)

Prvnφ udßlosti, kterΘ jsou aktivovßny souΦasn∞ se spuÜt∞nφm aplikace souvisφ se samotn²m formulß°em. Jsou to udßlosti, kterΘ m∙₧eme p°i znalosti okam₧iku vyvolßnφ udßlostφ pou₧φt pro ·vodnφ a ukonΦovacφ akce aplikace. Nejprve je jeÜt∞ p°ed zobrazenφm formulß°e vyvolßna udßlost OnCreate. Ta je vyvolßna v₧dy pouze jednou a to p°i spuÜt∞nφ aplikace. V obslou₧enφ tΘto udßlosti m∙₧ete definovat akce, kterΘ chcete provΘst v₧dy p°i spuÜt∞nφ aplikace. Zde m∙₧eme nap°φklad nastavit poΦßteΦnφ hodnoty pou₧φvan²ch prom∞nn²ch, p°φpadn∞ otev°φt datovΘ soubory:

Jazyk KLONDAIK: procedure TForm.Create(Sender: TObject); begin ShowMessage('ZaΦßtek aplikace'); DbfUse('cenik.dbf'); end;

Jazyk BONANZA: sub FormCreate(Sender) ShowMessage("ZaΦßtek aplikace ") DbfUse("cenik.dbf") end sub

Jazyk JUKON: function FormCreate(Sender) { ShowMessage('ZaΦßtek aplikace'); DbfUse('cenik.dbf'); }

Dßle je vyvolßna udßlost OnActivate, kterß je vyvolßna v₧dy p°i aktivovßnφ formulß°e. Obdobnß udßlost je OnDeactivate, kterß je vyvolßna p°i deaktivaci okna. Aktivace a deaktivace je tedy volßna p°i aktivovßnφ jinΘho okna.

P°i b∞hu aplikace aktivuje formulß° n∞kterΘ udßlosti, se kter²mi jsme se ji₧ seznßmili. NejΦast∞ji budete asi pou₧φvat udßlost OnClick pro obslou₧enφ udßlosti kliknutφ myÜi na ploÜe formulß°e. Pokud budete p°itom pot°ebovat znßt sou°adnice stisknutφ myÜi, m∙₧ete pou₧φt udßlost OnMouseDown.

P°i zm∞n∞ velikosti formulß°e je vyvolßna udßlost OnResize. Tak₧e i v₧dy p°i minimalizaci a maximalizaci formulß°e. Obslou₧enφ tΘto udßlosti je vhodnΘ pou₧φt nap°φklad pro zm∞nu umφst∞nφ nebo velikosti objekt∙, kterΘ majφ b²t umφst∞ny v₧dy v urΦitΘ vzdßlenosti od okraje formulß°e.


Jazyk KLONDAIK: procedure TForm.FormResize(Sender: TObject); begin Button.Left := Form.Width - 60; Button.Top := Form.Height- 100; Button.Width := 50; Button.Height:= 50; end;

Jazyk BONANZA: Sub FormResize(Sender) Button1.Left = Form1.Width - 60 Button1.Top = Form1.Height- 100 Button1.Width = 50 Button1.Height= 50 End Sub

Jazyk JUKON: function FormResize(Sender) { Button.Left = Form.Width - 60; Button.Top = Form.Height- 100; Button.Width = 50; Button.Height= 50; }

Podobnß udßlost je OnRepaint, kterß je vÜak vyvolßna pouze v₧dy p°i nutnosti p°ekreslenφ plochy formulß°e. Pozor na to, ₧e pokud velikost formulß°e zmenÜφme, nenφ nutnΘ jej p°ekreslovat, udßlost tedy nebude vyvolßna. P°ekreslenφ je nutnΘ a₧ p°i zv∞tÜenφ velikosti formulß°e, kdy Windows vyvolß udßlost OnRepaint pro p°ekreslenφ chyb∞jφcφ plochy okna.

Äivotnost formulß°e je ukonΦena s vyvolßnφm udßlosti OnClose. Do obslou₧enφ tΘto udßlosti je vhodnΘ zadat uzavφrajφcφ akce aplikace. Nap°φklad uzav°enφ databßze a podobn∞.

Seznßmili jsme se se zßklady programovßnφ aplikacφ sklßdßnφm komponent na formulß°i. Pokud jste v minulosti dosud uveden²m stylem neprogramovali, m∙₧e se vßm zdßt vÜe slo₧itΘ a komplikovanΘ. Vytrvejte vÜak ve svΘm ·silφ a v²sledky se urΦit∞ dostavφ. Nejd∙le₧it∞jÜφ je vÜak vyzkouÜet si vÜe prakticky. V dalÜφch lekcφch ji₧ budeme probφrat podrobn∞ji jednotlivΘ komponenty.


p°edchozφ lekce (2.11) obsah kurzu nßsledujφcφ lekce (2.13)

OZOGAN, 1 Mßje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz