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

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

    Zakázali reklamu s mobilem ve vodě. Spadl tam šikovně, hájí se výrobce

    Zakázaná reklama na HTC U11

    Ve Velké Británii zakázali reklamu na špičkové HTC U11 na základě pochybného zacházení s mobilem, se kterým...



    Huawei P20 Pro má funkci, kterou výrobce tají. Je to záhada

    Huawei P20 Pro premiéra

    Jak ukázala rozborka nejnovějšího top modelu Huaweie P20 Pro, telefon má optickou stabilizaci u všech tří fotoaparátů....

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

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

    Další z rubriky

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

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

    Sem chodí smartphony umřít. Aplikaci lze použít jen s vybitou baterií

    Die With Me

    Aplikace s názvem Umři se mnou má velmi neobvyklé omezení. Nemůžete ji zapnout, pokud máte telefon nabitý víc než na...



    Najdete na iDNES.cz