Klávesové zkratky na tomto webu - základní
Přeskočit hlavičku portálu


Programování pro PalmOS počítače krok za krokem (31)

aktualizováno 
V dnešním pokračování si zopakujeme, co mají společného a jak jsou v souboru prostředků aplikace definována tlačítka, opakovací tlačítka, políčka k zaškrtnutí, přepínače a tlačítko volby textu.

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.




Nejčtenější

Nový „levný“ iPhone má být hit. Prodat se ho má 100 milionů

Trojice iPhonů pro rok 2018

Apple chystá na letošní rok tři nové iPhony. Jedním z nich má být levnější model, který nebude mít OLED displej. A...

Vytrolil T-Mobile, koupil doménu z reklamy a přesměroval ji na konkurenci

T-Mobile Hotel Růženka

Nová reklamní kampaň T-Mobilu se odehrává ve smyšleném horském hotelu Růženka. Ovšem když zkusíte doménu...



Nepoužívejte smartphony Huawei a ZTE, varují Američany FBI, CIA i NSA

Huawei Mate 10 Pro bude v USA k dostání u BestBuy

Huawei chtěl letos vzít útokem Spojené státy, a to s pomocí tamních klíčových operátorů. Z možné dohody však nakonec...

Teď přijde řada na naše peníze. V Číně totiž končí zlaté časy

Xiaomi Mi 6

Čínský trh s chytrými telefony je největší na světě, ale loni se podle všeho dostal do potíží. Po letech růstu přišel...

Lidé si stěžovali na špatný signál. Rušil ho těžař bitcoinů

(Ilustrační snímek)

Newyorští zákazníci amerického operátora T-Mobile si stěžovali na znatelný šum během telefonních hovorů. Ukázalo se, že...

Další z rubriky

Za 23 korun vám aplikace fotku z iPhonu ukáže až za tři dny

Netradiční fotoaplikace Gudak vás donutí nad fotkami zase přemýšlet

Vnímání fotografie se za posledních pár let výrazně změnilo. Díky záznamovým médiím již totiž nemusíme přemýšlet nad...

Google loni zlikvidoval 700 tisíc aplikací

Mobilní aplikace

Z aplikačního obchodu Google Play bylo loni odstraněno 700 tisíc aplikací, většina zmizela prakticky ihned po umístění...

Bez reklamy ani ránu. Bude už i na Facebook Messengeru v mobilu

Mobilní Messenger projde změnou, k nelibosti uživatelů v něm budou cílené...

Oblíbený mobilní kecálek se brzy promění. Facebook totiž do Messengeru po úspěšném testování implementuje cílené...



Najdete na iDNES.cz