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 (47)

aktualizováno 
K rolování textem políčka používáme nejen opakovací tlačítka, ale i hardwarová tlačítka. V dnešním dílu si povíme o události vstupu znaku a stisknutí tlačítka.

4.15. Událost vstupu znaku

Když uživatel nakreslí znak Grafitti, který je operačním systémem rozpoznán, tak PalmOS zašle naší aplikaci zprávu keyDownEvent. Pokud právě editujeme text v některém políčku, zpracuje operační systém tuto zprávu sám a vloží do políčka zapsaný znak.

keyDownEvent
EventType* event;
WChar event->data.keyDown.chr
Kód znaku.
UInt16 event->data.keyDown.modifiers
Kombinace modifikátorů, které nás informují o stavu operačního systému v okamžiku zapsání znaku.

U zařízení, která mají klávesnici, je zpráva keyDownEvent zasílána aplikaci, také když uživatel stiskne některou klávesu. Tato zpráva je také zasílána tehdy, když uživatel stiskne hardwarové tlačítko (například pro spuštění aplikace AddressBook, pro posuv o stránku nahoru nebo pro zobrazení uživatelské nabídky).

Parametr event->data.keyDown.modifiers obsahuje stav operačního systému v době zapsání znaku. Tato hodnota je logickým součtem konstant, které využívá Graffiti manager při vstupu znaku. Například je v ní obsažena informace, zda byla zpráva vytvořena jako výsledek automatického opakování znaku při držení tlačítka. Můžeme také zjistit, zda je ukazatel stavu Graffiti v režimu pro zapisování velkých písmen nebo speciálních znaků. Ve většině případů však můžeme hodnotu parametru event->data.keyDown.modifiers ignorovat.

Pro písmena, číslice a speciální znaky je hodnota parametru event->data.keyDown.chr rovna ASCII hodnotě znaku. Zapíšeme-li některé z písmen české abecedy s diakritikou, je u jednotlivých jazykových verzí počítačů Palm Pilot vrácena hodnota, která odpovídá použitému kódování češtiny. Typ WChar je šestnáctibitový a může obsahovat i speciální znaky - v operačním systému PalmOS se jim říká virtuální znaky. Některé ze speciálních znaků jsou v následující tabulce:

Konstanta Význam Zpracování
vchrPageUp Bylo stisknuto hardwarové tlačítko pro posuv o stránku nahoru. Tuto událost může bezpečně zpracovat uživatel.
vchrPageDown Bylo stisknuto hardwarové tlačítko pro posuv o stránku dolů. Tuto událost může bezpečně zpracovat uživatel.
vchrHard1 Bylo stisknuto první hardwarové tlačítko zleva (DateBook). PalmOS
vchrHard2 Bylo stisknuto druhé hardwarové tlačítko zleva (AddressBook). PalmOS
vchrHard3 Bylo stisknuto třetí hardwarové tlačítko zleva (ToDo). PalmOS
vchrHard4 Bylo stisknuto čtvrté hardwarové tlačítko zleva (Memo). PalmOS
vchrHardPower Bylo stisknuto tlačítko pro vypnutí Palm Pilota. PalmOS
vchrHardContrast Bylo stisknuto tlačítko počítače Palm Pilot V pro nastavení kontrastu. PalmOS
vchrPrevField Bylo stisknuto tlačítko pro přechod na předchozí políčko ve formuláři. Tuto událost může bezpečně zpracovat uživatel.
vchrNextField Bylo stisknuto tlačítko pro přechod na další políčko ve formuláři. Tuto událost může bezpečně zpracovat uživatel.
vchrMenu Bylo stisknuto tlačítko na plošce Graffiti pro zobrazení uživatelské nabídky. PalmOS
vchrFind Bylo stisknuto tlačítko na plošce Graffiti pro zobrazení formuláře pro vyhledávání. PalmOS

Virtuální znaky mají mnoho významů a o zpracování většiny z nich se stará operační systém PalmOS. Kódy virtuálních znaků jsou uvedeny v hlavičkovém souboru Core\System\Chars.h a začínají předponou vchr.... Později si povíme, jak můžeme využít některé z dalších virtuálních znaků. Nyní nás budou zajímat pouze znaky vchrPageUp a vchrPageDown.

Stránkování pomocí tlačítek

Virtuální znaky vchrPageUp a vchrPageDown předává operační systém PalmOS naší aplikaci po stisknutí tlačítek pro odstránkování nahoru a dolů. Pro stránkování nahoru a dolů pomocí hardwarových kláves musíme ve funkci formuláře zpracovat událost keyDownEvent.

Je-li ve zprávě předán znak vchrPageUp nebo vchrPageDown, měli bychom nejprve zjistit, které políčko máme posunout. Ve většině formulářů je však pouze jediné políčko pro editaci textu, které můžeme stránkovat. Je-li ve formuláři políček víc, posuneme políčko, do kterého právě zapisujeme znaky. Při zpracování stisknutí tlačítek musíme pak volat funkci FldScrollField() pro vlastní posuv textu v políčku.

O ostatní virtuální znaky se zatím nebudeme zajímat. Operační systém PalmOS sám zpracovává události stisknutí hardwarových tlačítek pro spouštění aplikací, vyhledávání a podobně.


Příště dokončíme popis jednoduchého stránkování a doplníme zdrojový text o stránkování ve vstupním formuláři.



Nejčtenější

Nové iPhony Xs budou stát až 43 500 korun. Do Česka dorazí 29. září

Matura Jan: Online #7043

Apple na akci Apple Keynote 2018 představil tři nové iPhony. Nástupce modelu X se jmenuje Xs, zvětšená varianta pak Xs...

To si ještě nikdo nedovolil, nejlepší iPhone je za neuvěřitelnou sumu

iPhone Xs/Xs Max

S nadsázkou, na nejlepší provedení nových iPhonů X bude potřeba hypotéka. Apple nový top model Xs Max s 512 GB paměti ...



Apple má tři nové iPhony. Podporují dvě SIM, ale v Česku to nefunguje

iPhone Xs/Xs Max

Apple letos představil tři nové iPhony, které navazují na loňský model X. Úplně nových smartphonů od Applu se ovšem...

T-Mobile přidává k tarifům data navíc. Na prodejně ovšem nepochodíte

T- Mobile.

Není pochyb, že se boj o zákazníky z hlasových služeb přesunul do oblasti mobilních dat. Potvrzuje to i aktuální akční...

Nejnovější hodinky Apple Watch se povedly. Změří i elektrokardiogram

Apple představil Watch Series 4 s většími displeji a senzorem pro měření EKG

Přestože byly hlavními hvězdami tiskové konference Applu nové iPhony, zájem vzbudila i další generace chytrých hodinek....

Další z rubriky

Záchranku volejte přes aplikaci. Pomoc je rychlejší než při volání na 155

Simulovaná dopravní nehoda jako praktická ukázka fungování mobilní aplikace...

„Záchranná služba, tísňová linka, dobrý den,“ ohlašuje se operátorka volajícímu, který se stal svědkem dopravní nehody....

Online randění pozastaveno. Facebook nechtěně odstřihl uživatele od Tinderu

Aplikace Tinder

Změna bezpečnostních nastavení Facebooku v reakci na nedávné skandály s úniky dat má celkem závažný důsledek pro ty,...

Vyrážíte na dovolenou? Tyto aplikace by neměly chybět ve vašem mobilu

Ilustrační snímek

Mobilní aplikace jsou dnes v mnoha případech neodmyslitelným pomocníkem v celé řadě situací a letní cestování a...

Najdete na iDNES.cz