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