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

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

    Konkurence se trefuje do „předražených“ nových iPhonů

    Všechny tyto produkty Xiaomi stojí stejně, jako nový model iPhone Xr

    Na vysoké ceny novinek od Applu reagovali konkurenti poněkud posměšnými nabídkami. Ukazují v nich, co všechno z jejich...

    Další z rubriky

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

    K používání aplikace WhatsApp vám nově musí být minimálně 16 let

    Whatsapp bude umět zpětně vymazat odeslané zprávy

    Chatovací služba WhatsApp mění podmínky používání v Evropské unii. Nově začíná platit, že pro používání služby vám musí...

    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