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

aktualizováno 
V tomto dílu si doplníme náš šifrovací program o obsluhu posuvníku, který je ve formuláři pro zobrazení výsledků.

4.20 Použití posuvníku v naší aplikaci

Nyní zcela opustíme historickou techniku stránkování pomocí opakovacích tlačítek a použijeme posuvník ve vstupním i výstupním formuláři. Začneme drobnou změnou souboru prostředků aplikace. Změna se bude týkat vstupního formuláře, ve kterém vynecháme opakovací tlačítka a vedle textu zobrazíme posuvník.

FORM ID FormularVstupni AT (0 0 160 160)
BEGIN
    ...
    FIELD ID PoleTextVstupni AT (5 30 145 88) HASSCROLLBAR ... 
    SCROLLBAR ID PosuvnikTextVstupni AT (RIGHT@159 PREVTOP 7 PREVHEIGHT) ... 
    ...
END

Změní se výška políčka a vedle políčka bude zobrazen posuvník. Všimněte si, že definice posuvníku kopíruje výšku políčka a jeho pravý okraj je zarovnán s pravým okrajem formuláře. Tato definice kopíruje definici políčka a posuvníku, kterou jsme uváděli ve výstupním formuláři. Upravený vstupní formulář bude na displeji vypadat takto:

Z původního zdrojového textu použijeme funkci PosunTextOStranku(). Tuto funkci budeme používat při stránkování pomocí hardwarových kláves.

Pro pohyb pomocí posuvníku budeme potřebovat doplnit ještě jednu funkci. Bude jí funkce PosunTextORozdil(). Nově definovaná funkce bude jako parametr vyžadovat počet řádků, o které budeme text v políčku posouvat. Bude-li počet řádků kladný, posouváme text směrem dolů; pro záporný počet řádků budeme text posouvat nahoru.

void PosunTextORozdil(UInt16 polickoID, Int16 rozdil)
{
    WinDirectionType smer = winDown;
    FieldPtr policko = (FieldPtr)Objekt(polickoID);

    if(rozdil < 0)
    {
        smer = winUp;
        rozdil = -rozdil;
    }

	// Pokud bude možné text posunout, posuneme jej
	
    if(FldScrollable(policko, smer))
    {
        FldScrollField(policko, rozdil, smer);
    }
}

Pro úpravu pozice vozíku posuvníku použijeme funkci UpravPosuvnikDlePolicka(), kterou jsme si uvedli výše. Ve funkci provedeme pouze jednoduchou úpravu tak, aby jako parametry požadovala konstanty pro jednoznačnou identifikaci políčka a posuvníku.

Uvedené tři funkce (PosunTextORozdil(), PosunTextOStranku() a UpravPosuvnikDlePolicka()) použijeme ve funkci formuláře. V následující tabulce uvedeme události, které budeme zpracovávat, a reakce na ně.

Zpráva Chování programu
frmOpenEvent Po nastavení textu políčka upravíme zobrazení posuvníku voláním funkce UpravPosuvnikDlePolicka().
sclRepeatEvent Spočteme z dat předaných ve zprávě počet řádků, o které budeme políčko posouvat, a zavoláme funkci PosunPolickoORozdil().
keyDownEvent Podle stisknuté klávesy zavoláme funkci PosunPolickoOStranku() pro odstránkování políčka. Poté upravíme zobrazení posuvníku funkcí UpravPosuvnikDlePolicka().
fldChangedEvent Upravíme zobrazení posuvníku voláním funkce UpravPosuvnikDlePolicka().

Pokud bychom při definici políčka zapomněli na vlastnost HASSCROLLBAR, nebude posuvník pracovat správně. Zapíšeme-li na konec políčka znak, kterým text políčka posuneme, nebude naší aplikaci zaslána zpráva fldChangedEvent a zobrazení posuvníku nebude upraveno.

V následujícím rámečku si uvedeme příklad funkce vstupního formuláře.

Zdrojový text aplikace si můžete stáhnout zde.


V příštím dílu si povíme o uživatelské nabídce (menu) a připomeneme si její definici v souboru prostředků aplikace.




Nejčtenější

Berte, dokud je. Mobil pro fajnšmekry po neúspěchu drasticky zlevnil

Essential PH-1

Keramické tělo, jeden z nejmodernějších procesorů, 128 GB vnitřní paměti a velký displej s tenkými rámečky a...

Konkurenci poprvé ukazuje záda, Huawei P20 Pro je nejlepší smartphone

Huawei P20 Pro

Čínský Huawei si dal letos na nových modelech řady P20 opravdu záležet. Model P20 Pro chce být tím nejlepším...



Drsná metoda autoškoly, žáci museli položit své mobily na silnici

Neobvyklý způsob učení parkování v čínské autoškole

V čínské autoškole vymysleli originální způsob, jak naučit studenty velmi opatrně zaparkovat. Na čáry vyhrazené pro...

Američtí teenageři se mohou z iPhonů zbláznit. A zájem roste

iPhone 8 Plus v Drážďanech

Ve Spojených státech je mezi mladými uživateli smartphonů enormní zájem o iPhony - v současnosti je vlastní 82 procent...

Nejnovější smartphone od Samsungu se nedokáže připojit k internetu

Samsung Galaxy J2 Pro ve verzi bez internetu

Samsung připravil smartphone, který by u nás ocenili možná jen senioři. Případně ti, kteří se obávají možného zneužití...

Další z rubriky

Ušetříte za mobilní data. Facebook vám ukáže bezplatnou wi-fi

Find Wifi funkce na Facebooku

V aplikaci sociální sítě Facebook se objevila nová užitečná funkce - dovede vás nasměrovat k nejbližší veřejné wi-fi...

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...

Na aplikace alternativních taxi útočí virus. Pase po údajích ke kartám

Virus pro Android

Uživatelé mobilních aplikací alternativních taxi včetně aplikace Uber by měli být obezřetní. Ohrožuje je totiž nový...



Najdete na iDNES.cz