3.11. Kontrolní prvky formuláře
Ve formuláři používáme nejčastěji různá tlačítka a přepínače. Tyto prvky formuláře mají mnoho společných vlastností a obsluhuje je stejná součást operačního systému PalmOS. Jedná se o následující prvky formuláře:
- Tlačítka
- Přepínače
- Opakovací tlačítka
- Políčka k zaškrtnutí
- Tlačítko výběru textu
- Tlačítko výběru ze seznamu
- Posuvník
Dohromady jim říkáme kontrolní prvky formuláře. V této kapitole se budeme zabývat jen prvními pěti z nich - posuvník a tlačítko výběru ze seznamu si necháme na později.
Na obrázku nahoře máme zobrazeny typické příklady těch kontrolních prvků formuláře, kterými se budeme zabývat.
Definice všech kontrolních prvků jsou podobné - povinně v nich uvádíme text tlačítka, jednoznačnou identifikaci (za klíčovým slovem ID) a pozici na displeji (za klíčovým slovem AT).
Za povinnými definicemi následují společné nepovinné vlastnosti - například písmo, kterým bude tlačítko popsáno (za klíčovým slovem FONT), nebo zda je tlačítko vykresleno (USABLE a NONUSABLE). Také můžeme uvést ukotvení textu při změně velikosti tlačítka (LEFTANCHOR, RIGHTANCHOR).
Na úplný popis definice a vlastností kontrolních prvků formuláře se podívejte do druhé kapitoly. Zde jen krátce připomeneme, jak jsou tyto prvky definovány.
Tlačítka
Definice tlačítka začíná klíčovým slovem BUTTON. V seznamu vlastností můžeme uvést, zda (a jak) bude tlačítko orámováno (FRAME, NOFRAME nebo BOLDFRAME).
BUTTON "text" ID JednoznacnaID AT (vlevo vpravo sirka vyska) vlastnosti Vlastnosti: USABLE nebo NONUSABLE LEFTANCHOR nebo RIGHTANCHOR FRAME, NOFRAME nebo BOLDFRAME FONT písmo |
Přepínače
Definice přepínače následuje za klíčovým slovem PUSHBUTTON a mezi nepovinnými vlastnostmi můžeme uvést skupinu, do které přepínač patří (za GROUP). Připomeňme, že z každé skupiny může být vždy aktivní (sepnutý, inverzně zobrazený) jen jeden přepínač.
PUSHBUTTON "text" ID JednoznacnaID AT (vlevo vpravo sirka vyska) vlastnosti Vlastnosti: USABLE nebo NONUSABLE LEFTANCHOR nebo RIGHTANCHOR GROUP číslo skupiny FONT písmo |
Políčka k zaškrtnutí
Podobně jako přepínače i políčka k zaškrtnutí (která jsou definována za klíčovým slovem CHECKBOX) umožňují uvést skupinu políček, ze které bude zaškrtnuto pouze jedno. Skupinu uvádíme za klíčovým slovem GROUP, za kterým následuje číslo skupiny.
CHECKBOX "text" ID JednoznacnaID AT (vlevo vpravo sirka vyska) vlastnosti Vlastnosti: USABLE nebo NONUSABLE LEFTANCHOR nebo RIGHTANCHOR GROUP číslo skupiny FONT písmo |
Opakovací tlačítka
Opakovací tlačítko je definováno stejně jako tlačítko obyčejné (ale klíčové slovo je REPEATBUTTON) a má i stejné povinné i nepovinné součásti definice. Jediná odlišnost je v tom, že opakovací tlačítko opakovaně generuje zprávy o svém stisknutí po dobu, kdy jej držíme.
REPEATBUTTON "text" ID JednoznacnaID AT (vlevo vpravo sirka vyska) vlastnosti Vlastnosti: USABLE nebo NONUSABLE LEFTANCHOR nebo RIGHTANCHOR FRAME, NOFRAME nebo BOLDFRAME FONT písmo |
Tlačítko výběru textu
Definice tlačítka výběru textu začíná klíčovým slovem SELECTORTRIGGER. Toto tlačítko se chová jako obyčejná tlačítka a generuje i stejné události. Rozdíl je pouze v jeho odlišném použití.
SELECTORTRIGGER "text" ID JednoznacnaID AT (vlevo vpravo sirka vyska) vlastnosti Vlastnosti: USABLE nebo NONUSABLE LEFTANCHOR nebo RIGHTANCHOR FONT písmo |
3.12. Ukazatel na data kontrolních prvků formuláře
Pro manipulaci s kontrolními prvky formuláře (nastavování textu, schovávání a vykreslování apod.) budeme potřebovat předávat funkcím ukazatel na data kontrolních prvků formuláře. Tento ukazatel (datový typ ControlPtr) získáme z jednoznačné identifikace voláním funkce FrmGetObjectPtr() a přetypováním vrácené hodnoty na typ ControlPtr. Příklad:
void SchovejTlacitko(UInt16 identifikace) { FormPtr formular = FrmGetActiveForm(); UInt16 index = FrmGetObjectIndex(formular, object); ControlPtr tlacitko = (ControlPtr)FrmGetObjectPtr(formular, index); CtlEraseControl(tlacitko); } |
Příště si popíšeme události, které jsou generovány jednotlivými kontrolními prvky formuláře.