Kurz4 - Kapitola4

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

6.4 Dialog About

Dnes si také mnoho nezaprogramujeme. Opět budeme připravovat zdroje pro použití v aplikaci, i když tentokrát již něco napíšeme.
Nejprve budeme dále pokračovat v grafické práci. Změňte velkou i malou ikonu podle vlastní úvahy a grafického vkusu. Můžete změnit ID ikony např. na IDR_ICON (ale není to nutné).
Dále do zdrojů vložte nový dialog. Na složce dialogů klepněte pravým tlačítkem a zvolte Insert Dialog. Upravte velikost nového dialogu. Velikost můžete zvolit stejnou jako velikost hlavního dialogu programu, protože Pocket PC využívá pro dialog celou plochu. Doplňte informace o programu, jak uznáte za vhodné (dole lze nalézt inspiraci). Ze všeho nejdůležitější je přeci zajistit si copyright na své dílo :-) .
Důležité je, abyste ID dialogu změnili na IDD_ABOUT. ID dialogu musíme znát, až budeme dialog vyvolávat. Grafická úprava a obsah jsou ponechány na vašem vkusu.
Pokusíme se zapojit dialog do programu. K tomu použijeme pomocníka zvaného ClassWizard. ClassWizard je pomocník, který podobně jako AppWizard má za úkol ušetřit programátorovi rutinní práci společnou pro běžné třídy. Zajistí za nás vytvoření kostry třídy a pak umožňuje pohodlně doplňovat další členské proměnné a funkce. Také usnadňuje tvorbu popisu obsluhy jednotlivých zpráv spojených s třídami použitými v aplikaci. Využijeme této příležitosti k ukázce, jak vkládat novou třídu do aplikace.
Nejprve vytvoříme třídu pro dialog "About ..." . Na ploše dialogu "About" klikneme pravým tlačítkem a zvolte možnost ClassWizard. Při vyvolání okna ClassWizard budete pravděpodobně informováni, že IDD_ABOUT je nový zdroj a můžete pro něj vytvořit novou třídu nebo použít již existující třídu. My zvolíme novou třídu. Jméno třídy bude např. CAboutDlg. Zkontrolujte také, zda bázová třída je CDialog a Dialog ID je IDD_ABOUT. Potvrďte OK a můžete zkontrolovat na kartě ClassView, že nová třída byla doplněna.
Klikněte pravým tlačítkem myši na tlačítku "About ..." v našem programu. Opět si vyberte možnost ClassWizard. Zkontrolujte, jestli je vybrán náš objekt s IDC_ABOUT - tedy požadované tlačítko "About ..." . Nás zajímá kliknutí na tlačítko, což vyvolá zprávu BN_CLICKED. Označte tuto zprávu a zmáčkněte Add Function. Stejnou akci vyvoláte dvojklikem na zprávu BN_CLICKED. Objeví se dialog, který nabízí doplnění členské funkce OnAbout. Název můžeme změnit, nám ale vyhovuje nabízené jméno, takže stačí jen potvrdit. Ve spodním okně můžete vidět, že ClassWizard doplnil členskou funkci OnAbout do třídy CIRRmtCntDlg.
Funkce OnAbout je sice automaticky vložena, co má však dělat si už musíme doplnit sami. Zmáčkněte tlačítko Edit Code a ClassWizard vás přenese na místo, kam máte dopsat kód funkce OnAbout.
Nyní stačí dopsat na označené místo tyto řádky:
   CAboutDlg dlgAb;
dlgAb.DoModal();
V členské funkci OnAbout jsme nejdříve definovali objekt dlgAb třídy CAboutDlg a pak jsme vyvolali tento dialog jeho členskou funkcí DoModal().
Protože budeme používat třídu popsanou a uloženou v jiném souboru, vložte na úvod otevřeného zdrojového kódu řádek:
#include "AboutDlg.h"
Napsáním pouhých 3 řádků programu nám začalo fungovat první tlačítko a v programu si můžeme prohlédnout dialog "About".

obr. 73 Dialog "About"

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

  • ClassWizard je pomocník, který pomáhá při vytváření a správě tříd v aplikaci.
  • Vložit a zapojit dialog do MFC aplikace je velmi jednoduché.
 

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.