Premium

Získejte všechny články mimořádně
jen za 49 Kč/3 měsíce

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

Dnes dokončíme popis prvků formuláře tím nejsložitějším - políčkem pro editaci textu a uvedeme si několik příkladů definic formulářů.

2.22. Políčko pro editaci textu

Jeden z nejdůležitějších prvků formuláře - slouží k editování textu - má mnoho různých vlastností, které je možno nastavit a jejichž přehled je uveden v tabulce. Z hlediska počtu nastavitelných vlastností se jedná určitě o prvek nejsložitější.

FIELD ID <číslo_prostředku> AT ( <vlevo> <nahoře> <šířka> <výška> ) vlastnosti

Z vlastností uvedených v jednom řádku tabulky můžeme vždy vybrat jen jednu. Tučným písmem jsou ty vlastnosti, které jsou přednastavené a nemusíte je uvádět.

Vlastnost Popis
USABLE NONUSABLE Použitelnost políčka
  • USABLE - políčko bude zobrazené a použitelné
  • NONUSABLE - políčko nebude ve formuláři zobrazeno
FONT <číslo_písma> Písmo

Číslo písma musí označovat jedno ze standardních písem PalmOS, kterým bude text v políčku zobrazen (viz oddíl pojednávající o definici písem). Pokud neuvedeme, je použito standardní písmo (číslo 0).

SINGLELINE MULTIPLELINES Jeden nebo více řádků textu
  • SINGLELINE - text bude pouze jednořádkový, nebude možné zadat znak pro přechod na nový řádek ani tabulátor.
  • MULTIPLELINES - text bude přes více řádek; počet řádek bude určen výškou políčka pro editaci textu a výškou použitého písma. Může zobrazovat prázdné řádky a posouvat text v políčku nahoru a dolů.
LEFTALIGN RIGHTALIGN Zarovnání textu
  • RIGHTALIGN - text v políčku bude zarovnán doprava (platí pouze pro jednořádková políčka; text víceřádkových políček je vždy zarovnán doleva
  • LEFTALIGN - text v políčku bude zarovnán vlevo
EDITABLE NONEDITABLE Umožnit uživateli změnu textu
  • EDITABLE - uživatel má možnost text v políčku měnit - zadávat a mazat text apod.
  • NONEDITABLE - uživatel nemůže text v políčku změnit. Políčka s tímto atributem jsou vhodná k zobrazení různých zpráv pro uživatele.
UNDERLINED Podtržení

Pokud tuto vlastnost uvedeme, bude text v políčku podtržen šedou (tečkovanou) linkou. Tento parametr je vhodný zejména pro editovatelná políčka.

DYNAMICSIZE Proměnná velikost

Pokud uvedeme tuto vlastnost, bude se políčko moci při psaní textu zvětšovat (směrem dolů) a při mazání textu se bude políčko zmenšovat.

MAXCHARS <počet_znaků> Nejvyšší počet znaků

Za touto vlastností je nutné uvést, kolik nejvýše znaků může uživatel do políčka napsat. Platné hodnoty jsou 0 - 32767.

Tuto vlastnost je povinné uvádět.

AUTOSHIFT Velké počáteční písmeno

Pokud uvedeme u políčka tuto vlastnost a aplikace poběží na počítači s verzí operačního systému větší než 2.0, tak bude první znak vepsaný do políčka automaticky převeden na velké písmeno.

NUMERIC Číselné políčko

Do políčka definovaného s touto vlastností bude možno zadávat jen číslice 0 až 9.

HASSCROLLBAR Posuvník

Tato vlastnost informuje operační systém PalmOS o tom, že u víceřádkového políčka pro editaci textu je použit posuvník. Ošetření spolupráce posuvníku a textového políčka je pak třeba udělat ve zdrojovém textu aplikace.

Tyto vlastnosti políček je dobré si prostudovat: jejich vzájemným kombinováním můžeme docílit mnoha efektů pro zápis a zobrazení textu. Ve třetí a v páté kapitole se budeme políčkům pro zápis textu věnovat.

2.23 Příklady definic jednoduchých formulářů

Teď už jsme si popsali všechny prvky formulářů, které můžete ve své aplikaci používat. Na závěr popisu formulářů uvedu dva příklady definice formulářů. Pro ilustraci bude u každého příkladu i obrázek displeje, na kterém bude tento formulář zobrazen.

POZOR: v definici prvků formuláře (mezi úvodním BEGIN a závěrečným END) nesmí být uváděny komentáře.

Obyčejný formulář s víceřádkovým políčkem

První příklad obsahuje formulář přes celou obrazovku. Formulář obsahuje titulek, víceřádkové políčko pro editaci textu (s posuvníkem umístěným po straně), políčko k zaškrtnutí a dvě tlačítka. Konstanty označující čísla prostředků jsou definovány v hlavičkovém souboru takto:


// toto je soubor pokus1.h

#define FormularPrvni 1000
#define TlacitkoOK 1001
#define TlacitkoZrus 1002
#define PoleText 1003
#define PosuvText 1004
#define ZaskrtniSoukrome 1005

V souboru prostředků aplikace je na začátku vložen hlavičkový soubor obsahující tyto konstanty (příkazem #include) a poté je definován formulář:


#include "pokus1.h"

FORM ID FormularPrvni AT (0 0 160 160)
NOFRAME
NOSAVEBEHIND
BEGIN
    TITLE "Zadejte text"
    FIELD ID PoleText AT (3 20 150 90) UNDERLINED MULTIPLELINES MAXCHARS 500 HASSCROLLBAR 
    SCROLLBAR ID PosuvText AT (153 PREVTOP 7 PREVHEIGHT) VALUE 10 MIN 0 MAX 100 PAGESIZE 10
    CHECKBOX "Soukromy" ID CheckBox1009 AT (3 120 AUTO AUTO)   
    BUTTON "OK" ID TlacitkoOK AT (3 140 40 AUTO) 
    BUTTON "Zrusit" ID TlacitkoZrus AT (60 PREVTOP PREVWIDTH AUTO) 
END

Pro ty z vás, kteří jsou zvědaví, jak tento formulář vypadá, uvádím jeho obrázek:

Výhradní formulář

Formuláře ale nemusí být jen přes celou obrazovku. Druhý formulář je definován jako výhradní - nezabírá plochu celého displeje a uživatel od něj očekává, že se objeví nad jiným formulářem.

V tomto formuláři je skupina přepínačů, ze které může být vždy vybrán jen jeden, políčko pro editaci textu, tlačítko pro výběr textu a tlačítko volby ze seznamu. Dva symboly vpravo od skupiny přepínačů fungují také jako tlačítka - jsou však definovány bez rámečku. Opět uvedeme nejprve hlavičkový soubor, ve kterém jsou definovány konstanty pro čísla prostředků:


// toto je soubor pokus2.h

#define FormularDruhy 2000
#define TlacitkoUloz 2001
#define TlacitkoZrus 2002
#define Prepni1 2003
#define Prepni2 2004
#define PrepniVice 2005
#define PoleJmeno 2006 
#define VyberDatum 2007
#define VyberPohlavi 2008
#define SeznamPohlavi 2009
#define TlacitkoBudik 2010
#define TlacitkoStranka 2011

Podobně jako v předchozím příkladu i soubor prostředků aplikace začíná vložením souboru s definicemi konstant a pokračuje definicí formuláře.


FORM ID FormularDruhy AT (10 50 140 100)
NOFRAME
MODAL
SAVEBEHIND
BEGIN
    TITLE "Pokus"
    PUSHBUTTON "1" ID Prepni1 AT (10 22 20 AUTO) GROUP 1
    PUSHBUTTON "2" ID Push1014 AT (PREVRIGHT+1 PREVTOP 20 PREVHEIGHT) GROUP 1
    PUSHBUTTON "vice" ID Push1015 AT (PREVRIGHT+1 PREVTOP 37 PREVHEIGHT) GROUP 1
    BUTTON "\024" ID TlacitkoBudik AT (100 PREVTOP 13 13) NOFRAME FONT 3
    BUTTON "\025" ID TlacitkoStranka AT (120 PREVTOP 13 13) NOFRAME FONT 3	
    LABEL "Jmeno:" AUTOID AT (10 44) FONT 1
    FIELD ID PoleJmeno AT (PREVRIGHT+2 PREVTOP 80 AUTO) UNDERLINED MAXCHARS 40 AUTOSHIFT 
    SELECTORTRIGGER "Vyber datum" ID VyberDatum AT (10 60 60 AUTO) LEFTANCHOR 
    POPUPTRIGGER "Pohlavi" ID VyberPohlavi AT (78 PREVTOP AUTO AUTO) RIGHTANCHOR 
    LIST "Muz "Zena" ID SeznamPohlavi AT (PREVLEFT PREVTOP PREVWIDTH 22) NONUSABLE VISIBLEITEMS 2
	POPUPLIST ID VyberPohlavi SeznamPohlavi 
    BUTTON "Uloz" ID TlacitkoUloz AT (10 82 37 AUTO) 
    BUTTON "Zrus" ID TlacitkoZrus AT (54 PREVTOP 37 AUTO) 
    GRAFFITISTATEINDICATOR AT (128 84) 
END

I tento formulář si můžete po přečtení definice v souboru prostředků aplikace prohlédnout:


Teď, když jsme probrali formuláře, budeme pokračovat v popisu souboru prostředků aplikace - probereme textové konstanty a jejich použití pro nápovědu a obrázky. Povíme si o dalším prvku uživatelského rozhraní: o výzvách (alerts) a naučíme se jej definovat.

  • Nejčtenější

Ukradené auto s AirTagem si našel, ale od policie dostal vynadáno

4. května 2024  7:02

Vyjít ráno před dům a nenajít tam svůj vůz je noční můrou každého majitele. Do takové...

O2 mění identitu. Vrací se 26 let starý legendární slogan předchůdce

30. dubna 2024  14:13

Operátor O2 se bude prezentovat trochu jinak než doteď. Změna je to spíš evoluční, ale rozdílů si...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Nový vědecký objev zdvojnásobí životnost baterií. Klíč je v nabíjení

4. května 2024

Premium Nový způsob nabíjení lithium-iontových baterií může podle studie německých vědců zdvojnásobit...

Umělá inteligence na nových smartphonech od Huaweie svléká lidi

5. května 2024  7:02

Na poli smartphonů je současným trendem implementace umělé inteligence. Ta nabízí stále širší...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Huawei šokuje novým supersmartphonem s vysouvacím fotoaparátem

1. května 2024  7:02

Huawei představil novou řadu Pura, která nahrazuje dřívější řadu P. Mezi novinkami z nové řady je i...

Chybí vám jack konektor? Nový sluchátkový smartphone bude řešením

6. května 2024

Čínský výrobce sluchátek Moondrop představil svůj první smartphone, který zaujme audiofily. Bude...

Umělá inteligence na nových smartphonech od Huaweie svléká lidi

5. května 2024  7:02

Na poli smartphonů je současným trendem implementace umělé inteligence. Ta nabízí stále širší...

Parádní velký tablet, kterému chybí snaha výrobce. Test Honoru Pad 9

5. května 2024

Čínský Honor se po svém stále ještě relativně nedávném návratu na globální trhy snaží dobýt...

Ukradené auto s AirTagem si našel, ale od policie dostal vynadáno

4. května 2024  7:02

Vyjít ráno před dům a nenajít tam svůj vůz je noční můrou každého majitele. Do takové...

V 59 letech zemřela herečka Simona Postlerová, ještě v sobotu zkoušela

Zemřela divadelní a filmová herečka Simona Postlerová, bylo jí 59 let. Zprávu o úmrtí potvrdil nadační fond Dvojka...

Dara Rolins je po další plastice. Kritiku fanoušků nechápe, cítí se svěží

Zpěvačka Dara Rolins (51) se na čas stáhla z veřejného života. V tom období prodělala „estetický zákrok“ a na sociální...

Titěrné sukně i míčky na podpatcích. Zendaya vzkřísila trend tenniscore

S nadsázkou bychom mohli říct, že největší tenisovou událostí tohoto roku je premiéra snímku Rivalové. Aspoň co se módy...

Je to šílený, hodnotily firmy práci řemeslníků, kteří opravili střechu

Po zimě se často ukážou mnohé „vady na kráse“ domu, střechy nevyjímaje. Někdy nezbývá nic jiného než kompletní výměna....

Ostrov kanibalů. Stalinistický režim na Sibiři zrealizoval noční můru

Pochytali na moskevských ulicích tisíce lidí, zločince, straníky, dělníky, matky od rodin. Deportovali je na Sibiř....