Premium

Získejte všechny články
jen za 89 Kč/měsíc

Programování PocketPC naruby (7/12)

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

    Neomezená data dává O2 ještě levněji než dříve. S odměnou jsou za hubičku

    15. dubna 2024  7:02

    Základní datově neomezený tarif za cenu nižší, než standardně stojí tarif s 12 GB dat? U O2 na...

    Doma si natáhnete neviditelné kabely k internetu. Huawei ukázal inovace

    17. dubna 2024

    Huawei na každoroční roadshow ukázal v Praze své inovace pro letošní rok. Vedle průmyslových...

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

    K mobilu teď dostanete televizi zdarma a levnější jsou také iPhony

    16. dubna 2024,  aktualizováno  10:12

    Výrobci mobilních telefonů se už zase začínají předhánět ve výhodných nabídkách. Přímé slevy jsou...

    Apple ukázal, že přejít na iPhone 15 Pro z předchůdce nemá smysl

    11. dubna 2024

    Apple na svém webu zveřejnil nástroj pro snadné srovnání vybraných modelů iPhonu. Uživatelé...

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

    Čínský smartphonový standard dorazil do Česka. Není co vytknout, ani cenu

    17. dubna 2024  7:02

    Motorola představila hned tři modely z top řady Edge. První se začne prodávat model Edge 50 Pro,...

    Pošlete sportovní fotku a vyhrajte smartphone nebo dres Patrika Schicka

    8. dubna 2024,  aktualizováno  18.4 13:04

    Zachyťte na fotografii sportovní moment a vyhrajte úplnou novinku, smartphone vivo V40 SE s bohatou...

    Tento podnik budou milovníci vína zbožňovat. Musí se ovšem vzdát mobilu

    18. dubna 2024  12:33

    Se zajímavým způsobem, jak strávníky přimět ke vzájemné komunikaci, přišel majitel restaurace v...

    Ultra smartphone i odlehčená novinka. Motorola zahustila nabídku

    18. dubna 2024

    Společně s modelem Pro se na český trh chystají ještě další dvě novinky od Motoroly. Jednou je...

    Čínský smartphonový standard dorazil do Česka. Není co vytknout, ani cenu

    17. dubna 2024  7:02

    Motorola představila hned tři modely z top řady Edge. První se začne prodávat model Edge 50 Pro,...

    Akční letáky
    Akční letáky

    Všechny akční letáky na jednom místě!

    Náhle zemřel zpěvák Maxim Turbulenc Daniel Vali, bylo mu 53 let

    Ve věku 53 let zemřel zpěvák skupiny Maxim Turbulenc Daniel Vali. Letos by se svou kapelou oslavil 30 let na scéně....

    Charlotte spí na Hlaváku mezi feťáky, dluží spoustě lidí, říká matka Štikové

    Charlotte Štiková (27) před rokem oznámila, že zhubla šedesát kilo. Na aktuálních fotkách, které sdílela na Instagramu...

    Vykrojené trikoty budí emoce. Olympijská kolekce Nike je prý sexistická

    Velkou kritiku vyvolala kolekce, kterou pro olympijský tým amerických atletek navrhla značka Nike. Pozornost vzbudily...

    Rohlík pro dítě, nákup do kočárku. Co v obchodě projde a kdy už hrozí právník?

    V obchodech platí pravidla, která občas zákazník nedodržuje. Někdy se navoní parfémem, aniž by použil tester, nebo...

    Ve StarDance zatančí Vondráčková, Paulová, hvězda Kukaček i mistryně světa

    Tuzemská verze celosvětově mimořádně úspěšné soutěže StarDance britské veřejnoprávní televizní společnosti BBC se už na...