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

Programování PocketPC naruby (7/12)

aktualizováno 
Patříte mezi uživatele PocketPC, kteří by si rádi také něco naprogramovali, řadíte se však k tzv. falešným začátečníkům? Pak právě vám je určen náš seriál věnovaný programování pro kapesní počítače s Windows Mobile. Dnešní díl věnujeme návrhu uživatelského rozhraní.
Minulý díl našeho seriálu Programování naruby jsme věnovali nastavení a hlavnímu oknu programu. Dnes se blíže podíváme na uživatelské rozhraní.

Uživatelské rozhraní

Při návrhu uživatelského rozhraní musíte začít důkladným zvážením toho, co od aplikace budete chtít. V našem případě, kdy se jedná o "minimální" aplikaci, stačí uživatelské rozhraní, které je rozkreslené na následujícím ručně kresleném černobílém obrázku (přikládám pro pobavení a ilustraci, že i dnes v době dokonalých kreslítek existuje někdo, kdo kreslí na papíře).

Při návrhu aplikace pro Windows platí více než kdy jindy, že vlastnímu vytvoření aplikace musí předcházet rozbor požadovaného chování a interakce s uživatelem. Ačkoliv kresby tužkou vypadají dnes, v prostředí dokonalých nástrojů pro DTP primitivně.

Aplikace bude vyžadovat jeden dialog, ve kterém může uživatel zvolit umístění databáze (zjednodušené voláním funkce GetSaveFileName) a titulek hlavního okna.

Navigaci po jednotlivých položkách zvládá prvek ListView sám. Uživatel bude aplikaci ovládat pomocí myši a klávesnice, příkazy pro opuštění aplikace, vymazání celého seznamu a nastavení budou v menu. Ikonu u prvku bude možné zvolit pomocí jednoho tlačítka (příprava na použití Action tlačítka na Pocket PC).

Vše dohromady

Zbývá jen to všechno dát dohromady. Do zdrojů (Resources) projektu doplníme menu hlavního okna, ikonu aplikace (32 x 32 bodů), tři ikony pro stavy položek seznamu a jednoduché dialogové okno pro editaci titulku hlavního okna a výběr umístění souboru s daty.

Při spuštění aplikace je předána kontrola funkci WinMain, ve které je nutné obsloužit následující (pro detaily si prohlédněte zdrojový text):

  • Zkontrolovat, zda je spuštěna pouze jedna instance aplikace. Protože používáme jediný datový soubor, není možné spustit dvě kopie (instance) aplikace současně. Proto po spuštění nejprve zkontrolujeme, zda naše aplikace již běží; pokud ano, předáme kontrolu dříve spuštěné aplikaci.
  • Inicializovat prvky uživatelského rozhraní Windows (funkcí InitCommonControls nebo InitCommonControlsEx).
  • Registrovat třídu hlavního okna aplikace.
  • Vytvořit hlavní okno aplikace, které patří do námi registrované třídy a pomocí funkce ShowWindow toto okno zobrazit.
  • Přejít do smyčky pro zpracování událostí.

Také bychom měli vytvořit instance pomocných objektů Storage (pro uložení dat) a MyRegistryKey (pro snadný přístup do registru).

Hlavní okno aplikace bude obsluhovat zprávy, jejichž přehled je v následující tabulce:

    WM_CREATE Musíme vytvořit ovládací prvek ListView, který vyplňuje celé hlavní okno aplikace.
    WM_DESTROY Zrušíme ovládací prvek ListView a ukončíme aplikaci (voláním funkce PostQuitMessage).
    WM_SIZE Změníme velikost prvku ListView tak, aby byl celý uvnitř hlavního okna aplikace.
    WM_KEYDOWN Obsloužíme stisk klávesy Insert (vložení nové položky na konec seznamu) a Enter (výběr první položky seznamu).
    WM_COMMAND Postaráme se o jednotlivé položky menu: ukončení aplikace, přidání nové položky do seznamu, vymazání seznamu a zobrazení dialogu nastavení aplikace.
    WM_NOTIFY Prostřednictvím této zprávy s námi komunikuje ovládací prvek ListView. V naší aplikaci musíme obsloužit tato upozornění:
    • LVN_KEYDOWN - stisk klávesy nad některou z položek seznamu. Pokud je to F2 tak budeme položku editovat, pomocí Delete ji smažeme, klávesa Shift a šipky nahoru/dolů posunou položku uvedeným směrem. Mezerníkem procházíme ikony.
    • LVN_BEGINLABELEDIT - musíme vrátit hodnotu FALSE, která povolí editaci položky seznamu.
    • LVN_ENDLABELEDIT - uložíme změněnou položku seznamu do objektu Storage.
    • LVN_ITEMACTIVATE - toto upozornění je nám zasláno při dvojkliku na položku seznamu. v takovém případě ji začneme editovat.
    • LVN_GETDISPINFO - vyzvedneme text položky a pořadové číslo ikony z objektu Storage a vrátíme jej prvku ListView.

    Dialog nastavení v sobě neskrývá žádná překvapení: při obsluze zprávy WM_INITDIALOG nastavíme hodnoty políček pro editaci textu a při stisku tlačítka OK (obsluha zprávy WM_COMMAND) uložíme text z políček do registru. V tomto stádiu můžeme aplikaci přeložit a prohlédnout si ji:

    Jednotlivé soubory získáte kliknutím na následující ikony (oba jsou zazipované):

    Zde můžete stáhnout zdrojové texty programu, určené pro Microsoft Visual C++ 6.0.

    Zde můžete stáhnout spustitelný soubor.




    Nejčtenější

    iPhone SE 2 má být už v květnu. Takto by měl vypadat

    Údajný iPhone SE 2.

    iPhone SE byl představen před dvěma roky, jeho design je pak vyloženě zastaralý. Vychází z šest let starého modelu....

    V sobotu koupíte smartphony Xiaomi za 399 Kč a sluchátka za korunu

    Sleva

    Čínské Xiaomi od loňska oficiálně působí v Česku a po několika stáncích otvírá i plnohodnotný obchod. První zákazníci...



    Obchod pětiletky finišuje. Spojení Vodafonu a UPC ovlivní i trh v Česku

    Vodafone jedná o převzetí operátora UPC

    Vodafone by měl v nejbližší době koupit některé evropské pobočky Liberty Global. Obchod se týká i Česka, znamenalo by...

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

    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

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

    Na dovolené se můžete seznámit i nespálit

    Ilustrační snímek

    Na dovolenou si bereme kde co, ovšem počítač/notebook často zůstává doma. Ten je na jedné straně prostředkem k...

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



    Najdete na iDNES.cz