SuperDlg -Krok 2

Přidáme tlačítko Součet, po jehož stisknutí se zobrazí nové dialogové okno.

 V nástrojovém panelu klepněte na tlačítko New Dialog- Jak? V pracovním okně se objeví nové dialogové okno s titulkem Dialog1. Poklepejte do něj. Tím se zobrazí vlastnosti dialogového okna.

 V kolonce ID změňte IDD_DIALOG1 na IDD_SOUCET a v kolonce caption napište Součet 2 čísel.
Tím máme vytvořen grafický základ okna, které se zobrazí po stisku tlačítka Součet v hlavním dialogu. Teď pro toto okno vytvoříme novou třídu CSoucetDlg.

 V nabídce View vyberte Class Wizard (nebo stiskněte CTRL + W). Objeví se dialog Adding a Class.

 Nechte zvolenu možnost Create a New Class a klepněte na OK

 V dialogu New Class napište jméno třídy - CsoucetDlg a klepněte na Create.

 Zavřete dialog Class Wizarda.

 V levém okně se přepněte do Resource View -pokud už tam, nejste - ,rozbalte složku superdlg resources a poklepejte na ikonku IDD_SUPERDLG_DIALOG. V pracovním okně se otevře hlavní dialogové okno programu.

 Z nástrojového panelu do něj přetáhněte tlačítko (button) a poklepáním zobrazte jeho vlastnosti.

 Změňte identifikátor nového tlačítka z IDC_BUTTON1 na IDC_SOUCET a popis tlačítka na Součet.
TIP: Pokud před znak v popisu tlačítka napíšete &, zobrazí se tento znak v tlačítku jako podtržený = klávesová zkratka ALT + podržené písmeno.

 Teď přidáme funkci, která se spustí při stisku tlačítka. Spusťte Class Wizard. Vyberte v kolonce Class name třídu hlavního okna CsuperdlgDlg (té patří tlačítko) a v seznamu Object Ids vyberte identifikátor tlačítka Součet -IDC_SOUCET.
Napravo v seznamu Messages se zobrazí seznam zpráv, které umí Class Wizard ošetřit. Pro tlačítko je to zpráva BN_CLICKED - klepnutí myší a BN_DOUBLECLICKED - poklepání (dvojklik).

 Vyberte BN_CLICKED a klepněte na tlačítko Add Function

 Potvrďte nabízené jméno funkce OnSoucet. A klepněte na tlačítko Edit Code.
Tím se dostanete do souboru superdlg.cpp, na místo, kam Class wizzard vložil funkci OnSoucet()

Při stisku tlačítka Součet bude zavolána funkce OnSoucet() a jejím úkolem je zajistit zobrazení dialogového okna Součet 2 čísel, který jsme před chvílí vytvořili. K tomu nejprve vytvoříme objekt třídy CsoucetDlg (což je třída požadovaného okna) a zavoláme její funkci DoModal(), která okno zobrazí.

 Vložte do těla funkce OnSoucet() následující kód:
CSoucetDlg dlg; //vytvoření objektu okna Součet 2 čísel
dlg.DoModal(); //zobrazení okna
Funkce DoModal() nevrátí, dokud uživatel nezavře zobrazené okno.

 Na začátek souboru superdlg.cpp, za ostatní direktivy #include vložte #include "soucetdlg.h"
Tento soubor vygeneroval Class Wizzard spolu s soucetdlg.cpp, když jsme vytvářeli třídu CsoucetDlg pro okno "Součet 2 čísel". Zatím jsme jej nemuseli vůbec upravovat. Protože v superdlg.cpp používáme v třídu CsoucetDlg, musíme "zainklůdovat" soubor kde je deklarována.

 Přeložte program -klávesová zkratka pro build je F7.

 Spusťte program a vyzkoušejte ho. Po stisku tlačítka Součet se objeví dialogové okno Součet 2 čísel, které ale zatím ještě nic nedělá. V dalším kroku to napravíme.