Štýl formulára
Každá GUI aplikácia je založená na formulári, čo je svojim spôsobom špeciálny kontajnerový komponent (kontajnerový = môže obsahovať ďalšie komponenty). Aplikácia nemusí obsahovať len jeden formulár a Lazarus poskytuje rozsiahle možnosti nastavenia vzhľadu a správania sa formulárov.
Na zmenu vzhľadu a správania formulára je potrebné poznať, ktoré vlastnosti menia vzhľad a správanie formulára. Ale nie len to, je dobré vedieť aj ako ich menia. nemenej dôležité je poznať aj aké udalosti sprevádzajú existenciu formulára a v akom poradí.
Na nastavenie vzhľadu formulára existujú viaceré vlastnosti, ktoré menia vlastnosti ako farbu, či písmo formulára. Ale ja mám na mysli skôr vlastnosti, ktoré mení vzhľad formulára ako takého, nie len prvkov na ňom.
FormStyle
Prvou vlastnosťou je FormStyle
a udáva štýl formulára. FormStyle
je
typu TFormStyle
, je definovaná v jednotke Controls
a môže nadobúdať
hodnoty fsNormal
, fsMDIChild
, fsMDIForm
, fsStayOnTop
a
fsSplash
.
Hodnoty fsMDIChild
a fsMDIForm
slúžia pre vytváranie tzv MDI
aplikácií. MDI je skratkou z anglického Multiple Document Interface,
čiže ide o programy s rozhraním pre viacero dokumentov.
fsFlash
slúži na vytváranie informačného okna, ktoré sa zobrazuje pri
štarte programu, najmä ak ten štart trvá trochu dlhšie. Jeho hlavnou
úlohou je informovať používateľa, že aplikácia „niečo“ robí, ale často
je použitý aj z estetických, či reklamných dôvodov.
Hodnota fsStayOnTop
zase nastavuje formulár tak, aby bol stále na
vrchu, čiže aby bol zobrazený nad (pred) ostatnými oknami. To je
užitočné najmä pri niektorých dialógoch, ktoré by nemali byť skryté za
inými oknami, a tak ostať nepovšimnuté.
No a predvolená hodnota fsNormal
udáva bežný formulár, ktorý je určený
na všobecné použitie.
BorderStyle
bsSizeable
Formulár s týmto štýlom okraja je bežným oknom, ako ho poznáte aj z iných aplikácií, čiže formulár má titulkový pruh. V titulkovom pruhu je ikona okna, názov okna a tri tlačítka v pravom hornom rohu pre minimalizovanie, maximalizovanie a zavretie okna.
Súčasťou titukového pruhu je aj štandardné aplikačné menu, ktoré sa zobrazí pri kliknutí na ikonu formulára v ľavom hornom rohu.
Veľkosť takéhoto formulár možno meniť, či už ťahaním myšou alebo prostredníctvom systémového menu pre zmenu veľkosti.
Upozornenie
Hodnota bsSizeable
je východzou hodnotou vlastnosti BorderStyle
, čiže
novovytvorené formuláre majú vyššie spomenuté vlastnosti.
bsNone
Táto hodnota vlastnosti BorderStyle
sa využíva napríklad pre
formuláre, ktoré sú umiestnené vo vnútri iných formulárov. Veď si
skúste predstaviť okno aplikácie, ktoré nemá okraje…
Všimnite si, že formulár nemá titulkový pruh a nemá ani žiadny okraj. Dôsledkom chýbajúceho titulkového pruhu a okraja je, menšia veľkosť formulára, ale nielen to.
Takýto formulár nemožno presúvať myšou za titulkový pruh (keďže ho nemá), ale nemá anisystémovémenu.
Upozornenie
A keďže nemá ani okraje, nie je možné ani meniť jeho veľkosť.
bsSingle
Vytvára okno, ktoré má titulkový pruh aj okraje, podobne ako okno so
štýlom formulára bsNormal
. Ak sa pozorne pozriete na oba typy okien,
všimnete si jeden rozdiel, a to deaktivované tlačítko pre
maximalizáciu okna.
Je to preto, že veľkosť takéhoto formulára nie je možné meniť, ani ťahaním myšou za okraje, ani tlačítkom maximalizácie a deaktivovaná je aj možnosť Veľkosť v systémovom menu okna.
Takýto formulár sa môže zísť napríklad pre okná s riadiacimi prvkami, napríklad pre zadávanie dát. Zväčšením takéhoto okna by používateľ získal len prázdne miesto, čo by vzhľadu výslednej aplikácie iste nepridalo. Alebo naopak, ak by používateľ toto okno zmenšil, nemusel by vidieť všetky ovládacie prvky.
bsDialog
Aj pomocou tohoto štýlu okrajov dostaneme okno, ktorého veľkosť nie je možné meniť. Ak sa pozorne pozriete na vzhľad takéhoto okna, uvidíte, že má titulkový pruh s ikonou a popisom aplikácie, ale chýbajú mu niektoré tlačítka v prvom hornom rohu. Okno má aj vizuálne okraje.
Upozornenie
Čiže takéto okno nemožno ani maximalizoavť a ani minimalizovať, možno len zavrieť.
Takýto typ okna je vhodný pre dialógové okné, ktoré má používateľ vybaviť a zatvoriť, nie sa s nimi pohrávať a prispôsobovať si ich. Ide napríklad o dialógy typu Áno/Nie, či Pokračovať/Zrušiť. Ale pri vymýšľaní ich využitia môžete pokojne nechať pracovať svoju tvorivosť.
bsToolWindow a bsSizeToolWin
Posledné dva typy okraja formulára sú predurčené pre vytváranie plávajúcich panelov nástrojov.
Takéto okná majú zmenšený titulkový pruh s popisom okna, ale nemajú ikonu okna ani tlačítka pre minimalizáciu, či maximalizáciu okna. Funkcie pre minimalizáciu a maximalizáciu však sú dostupné zo systémového menu okna, ku ktorému sa dostaneme pomocou kliknutia ľavým tlačítkom myši na titulkový pruh.
Upozornenie
Rozdiel medzi oknami s okrajom bsSizeTool
a s okrajom bsToolWindow
spočíva v tom, že okno bsSizeTool
má meniteľnú veľkosť.