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

    příslušenství k Samsungu Galaxy S8+
    Natáhněte si na špičkový Samsung třeba mechanickou klávesnici

    Vlastníci Samsungu Galaxy S8/S8+ mají spoustu možností, jakými doplňky si vylepšit svůj smartphone. Na výběr jsou různé kryty, pouzdra, sluchátka plus...  celý článek

    Android 8.0 Oreo je mocný a rychlý
    Android Oreo je tady. Je rychlý, mocný a slibuje větší bezpečnost

    Google v pondělí večer oficiálně představil velkou aktualizaci systému Android. Využil k tomu den, kdy Američané mohli pozorovat úplné zatmění Slunce. K...  celý článek

    Počet objednávek na Galaxy S8 předčil dosavadní rekord předchůdce o 30 procent
    Hlasový asistent Bixby vám poslouží i v Česku. Pokud mluvíte anglicky

    Samsung uvolnil svého hlasového asistenta i na český trh, stále však umí jen anglicky a korejsky.  celý článek

    Apple iPhone 6 a iPhone 6 Plus
    Apple vyprodává iPhony. Už stačí necelých 10 tisíc i na velký model

    Apple v nejbližší době představí nové iPhony. Aby vyprázdnil sklady, vyprodává starší modely. V Česku tak tento týden klesla cena modelu 6 pod 10 tisíc korun.   celý článek

    Samsung Galaxy S8
    Samsung S8+ v prodeji i ve verzi pro dvě SIM. Jeden slot je kombinovaný

    Samsung začal na českém trhu oficiálně prodávat dvousimkovou verzi svého top modelu Galaxy S8+. Ovšem řešení neumožní používat dvě SIM a paměťovou kartu...  celý článek

    Další z rubriky

    Záchranná služba představila ve středu oficiální mobilní aplikaci, pomůže...
    Aplikaci české záchranky používá už 330 tisíc lidí, čekají ji vylepšení

    Aplikaci Záchranka, která v naléhavých případech umožňuje přivolat si pomoc přes mobil, čekají v dubnu inovace. Spustí se zdokonalené funkce pro neslyšící a...  celý článek

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

    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 síti.  celý článek

    Ilustrační snímek
    S těmito aplikacemi se o dovolené neztratíte. Najdou let i levný hotel

    Místo slovníku, mapy a průvodce už řada lidí vyráží na dovolenou na neznámé místo jen se svým telefonem. V mnoha situacích je totiž neocenitelným pomocníkem....  celý článek

    Najdete na iDNES.cz



    mobilní verze
    © 1999–2017 MAFRA, a. s., a dodavatelé Profimedia, Reuters, ČTK, AP. Jakékoliv užití obsahu včetně převzetí, šíření či dalšího zpřístupňování článků a fotografií je bez souhlasu MAFRA, a. s., zakázáno. Provozovatelem serveru iDNES.cz je MAFRA, a. s., se sídlem
    Karla Engliše 519/11, 150 00 Praha 5, IČ: 45313351, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze, oddíl B, vložka 1328. Vydavatelství MAFRA, a. s., je členem koncernu AGROFERT.