Kurz5 - Kapitola2

17. června 2007 v 11:19 | http://www.sweb.cz/kurz_evt/ |  Programování pro WinCE

7.2 Opět kostra programu na úvod

Teoretický rozbor máme za sebou, můžeme začít tvořit. Začněte třeba jako já: File->New na kartě Projects jsem zvolil typ vytvářené aplikace WCE MFC AppWizard(exe). Vy můžete zvolit i jiný typ - např. WCE Pocket PC MFC AppWizard(exe). Odlišnosti by neměly být výrazné, já jsem jen chtěl ověřit, že tento program bude pracovat i na starých přístrojích s operačním systémem Windows CE 2.11.
Jméno pro aplikaci jsem vybral jako "ClrMail", vy se toho samozřejmě držet nemusíte.
V prvním kroku necháme typ aplikace jako Single Document s podporou Document/View. My v této aplikaci ale nebudeme potřebovat podporu dokumentu - to si necháme možná na příště. Čeština v resources není podporována, zatím se tedy spokojíme s angličtinou.
V kroku 2 přidáme podporu Windows Socket pro naši aplikaci. Zbytek předvoleb může zůstat beze změn (snad jen počet souborů v "recent file list" můžete vynulovat), stejně jako i celý krok 3 (sdílená MFC DLL knihovna).
Jména 4 vytvořených tříd, která nabízí k vytvoření krok 4, jsou akceptovatelná. Pouze třídu pohledu na data změníme. Označte si tedy CClrMailView třídu. Umožní vám to změnit její základní třídu. My toho využijeme a zvolíme jako Base Class třídu CListView, i když i tuto třídu si sami ještě malinko později upravíme k obrazu svému.
Nyní můžeme celou aplikaci vytvořit a také pokusně např. v emulátoru spustit.
Zbytek dnešní lekce strávíme úpravou kostry programu pro příští práci. Změňte tedy ještě tyto prvky:
  1. Ikonu programu (IDR_MAINFRAME malou i velkou) si upravte podle vkusu.
  2. Změnou dialogu "About..." si zajistěte svá nehynoucí práva a doplňte vzkaz pro budoucí generace :-)
  3. Nabídky v menu zredukujte a upravte tak aby odpovídaly následujícímu obrázku (obr 2).
  1. obr. 78 Menu programu ClrMail Názvy položek si můžete upravit podle svého. Důležité však je (pro další užití v programu), aby položky měly tyto identifikátory:
    • Connect - ID_CONNECT
    • Disconnect - ID_DISCONNECT
    • Delete - ID_DELETE
    • Exit - ID_APP_EXIT (zůstává zachováno)
    • E-mail Options - ID_EMAILOPTION
    • About ClrMail - ID_APP_ABOUT (zůstává zachováno)
    Doplňte i popisnou textovou položku Prompt v Properties, ve stejném duchu jako je to u původní položky "About..."
  2. Po úpravě menu dojde i na tlačítka Toolbaru. Upravte je a změňte podle vkusu. Já jsem ponechal "About" a doplnil před něj 3 tlačítka - "Connect", "Disconnect", a "Delete". Po poklepání na plochu Toolbaru zkontrolujte, zda jsou u tlačítek ID odpovídající ID hodnotám v menu.
Nyní byste již mohli kostru programu otestovat. Pokud se však o to pokusíte, pravděpodobně zjistíte prapodivné chování tlačítek na Toolbaru. Tlačítko "Disconnect" totiž otevře dialog pro otevření souboru a vedlejší tlačítko se pokusí soubor ukládat. Proč?
Otevřete-li si soubor MainFrm.cpp objevíte na jeho začátku pevně nadefinovanou tabulku s použitými tlačítky. Pro náš případ je nutné upravit úvodní část souboru MainFrm.cpp do takovéto podoby (ke 4 tlačítkům jsou přidány 2 separátory):
  
// Array tbSTDButton contains relevant buttons of bitmap IDB_STD_SMALL_COLOR
static TBBUTTON tbButtons[] = {
{0, ID_CONNECT, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{1, ID_DISCONNECT, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{2, ID_DELETE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0, 0, -1},
{3, ID_APP_ABOUT, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0, 0, 0}
};
const int nNumButtons = sizeof(tbButtons)/sizeof(TBBUTTON);
const int nNumImages = 4; // Pocet pouzivanych tlacitek
const DWORD dwAdornmentFlags = 0; // exit button
Jestliže jste zahájili tvorbu programu jako aplikaci pro Pocket PC, není tvorba tlačítek zajišťována touto tabulkou, ale dynamicky. Vy byste měli pouze upravit funkci OnCreate v MainFrm.cpp.
Na závěr můžeme program otestovat a měl by dělat to, co očekáváme - kromě zobrazení dialogu "About..." - nedělat nic.

Co bychom si měli z této lekce zapamatovat?

  • Tlačítka při založení MFC programu pro Windows CE jsou zapsána formou tabulky.
 

Buď první, kdo ohodnotí tento článek.

Nový komentář

Přihlásit se
  Ještě nemáte vlastní web? Můžete si jej zdarma založit na Blog.cz.