aplikacja dialogowa mfc krok po kroku

48
MFC Krok po kroku Aplikacja dialogowa – budowa interfejsu użytkownika Zadania laboratoryjne (czas realizacji: 1 tydzień) Celem ćwiczenia jest poznanie sposobu tworzenia aplikacji windowsowych MFC oraz zasad umieszczania i programowania podstawowych kontrolek w oknie dialogowym. Uruchomić program, który w zależności od wyboru: doda, odejmie, pomnoży lub podzieli dwie liczby. W tym celu należy wykonać poniższe kroki. Tekst: Prof. Jerzy Kisilewicz Obrazki: Brian Bartkowiak, student

Upload: razhael

Post on 26-May-2015

1.894 views

Category:

Self Improvement


0 download

DESCRIPTION

How to write MFC Application responsible for doing math on 2 float numbers.Jak napisać aplikację dialogową w MFC by można było dodawać, odejmować, mnożyć czy dzielić liczby rzeczywiste wraz z zadaną precyzją wyniku.

TRANSCRIPT

Page 1: Aplikacja dialogowa MFC krok po kroku

MFC Krok po krokuAplikacja dialogowa – budowa interfejsu użytkownika

Zadania laboratoryjne (czas realizacji: 1 tydzień) Celem ćwiczenia jest poznanie sposobu tworzenia aplikacji windowsowych MFC

oraz zasad umieszczania i programowania podstawowych kontrolek w oknie dialogowym.

Uruchomić program, który w zależności od wyboru: doda, odejmie, pomnoży lub podzieli dwie liczby. W tym celu należy wykonać poniższe kroki.

Tekst: Prof. Jerzy KisilewiczObrazki: Brian Bartkowiak, student

Page 2: Aplikacja dialogowa MFC krok po kroku

1. Wybrać z menu File|New|Projects.

Page 3: Aplikacja dialogowa MFC krok po kroku

a. Wybrać lokalizację, czyli katalog, w którym automatycznie powstanie podkatalog (przestrzeń robocza tworzonego programu -> ang location). W przestrzeni roboczej

będą umieszczone pliki tworzonego programu. b. Wpisać nazwę projektu (będzie to nazwa podkatalogu i równocześnie programu) ->

name. c. Z listy projektów wybrać: VisualC++|MFC|MFC Application. i nacisnąć „OK”.

Page 4: Aplikacja dialogowa MFC krok po kroku

2. Step1 – Nacisnąć „Next”.

Page 5: Aplikacja dialogowa MFC krok po kroku

Wybrać typ aplikacji „Dialog based” i nacisnąć klawisz „Finish”.

Page 6: Aplikacja dialogowa MFC krok po kroku

3. Skompilować i uruchomić wybraną aplikację. Wybrać z menu: Build|Build…, a następnie

po poprawnej kompilacji uruchomić program wybierając: Debug| Start Without Debugging ... .

Page 7: Aplikacja dialogowa MFC krok po kroku

Powieli się okno z nazwą programu – zakończyć program naciskając klawisz „OK.” lub „Cancel”.

Page 8: Aplikacja dialogowa MFC krok po kroku

4. Kliknąć napis “TODO: Place dialog controls here.” ( kontrolka „Static Textt”) Przesunąć okienko z tym tekstem do górnej krawędzi okna programu.

Kliknąć prawym klawiszem na ww. tekst i wybrać „Properties”.

Page 9: Aplikacja dialogowa MFC krok po kroku

W okienku właściwości w linii edycyjnej „Appearance|Caption” wpisać inny dowolny tekst. W zakładce „Align Textt” można

zmienić zmienić położenie tekstu.

Page 10: Aplikacja dialogowa MFC krok po kroku

5. Z okienka „Toolbox” przeciągnąć myszką ikony Aa (Static Textt) oraz ab|(EditBox) na wybrane miejsca obok siebie w okienku programu.

Page 11: Aplikacja dialogowa MFC krok po kroku

Jak w p. 4 wprowadzić do kontrolki „Static Textt” tekst z opisem pierwszej danej, która będzie wprowadzana do linii edycyjnej „Edit Box”. Powtórzyć

(dwa razy) czynności z p.5 dla drugiej danej i dla wyniku. Uruchomić program.

Page 12: Aplikacja dialogowa MFC krok po kroku

6. We właściwościach linii edycyjnej wyniku wybrać zakładkę „Behavior” i ustawić opcję „Read-only” na TRUE.

Page 13: Aplikacja dialogowa MFC krok po kroku

7. Zdefiniuj obsługę zdarzeń w pierwszej linii edycyjnej. Kliknij jej ikonę prawym klawiszem i wybierz „Add Event Handler…”.

Page 14: Aplikacja dialogowa MFC krok po kroku

W okienku „Message type:” podświetl EN_KILLFOCUS (zdarzenie wyjścia myszą z obszaru linii edycyjnej). Naciśnij klawisz „Add and Edit” i zaakceptuj nazwę funkcji. Pojawi się okno

do edycji kodu źródłowego w C++. (jeśli IDC_EDIT1 identyfikuje tę linię edycyjną – sprawdzisz to w jej właściwościach).

Page 15: Aplikacja dialogowa MFC krok po kroku

Wpisz następującą zawartość funkcji obsługi zdarzenia /../

Page 16: Aplikacja dialogowa MFC krok po kroku

8. Aby wrócić do edycji graficznej w lewym oknie (w zakładce „Res..”) rozwiń drzewo i gałąź „Dialog” oraz wybierz (dwuklik) okno dialogowe programu

(IDE_Nazwa_Projektu_DIALOG).

Page 17: Aplikacja dialogowa MFC krok po kroku

Powtórz to samo dla drugiej linii edycyjnej (z identyfikatorem IDC_EDIT2)

Page 18: Aplikacja dialogowa MFC krok po kroku

używając zmiennej b w miejsce zmiennej a.

Page 19: Aplikacja dialogowa MFC krok po kroku

Skompiluj program.

Page 20: Aplikacja dialogowa MFC krok po kroku

Błędy kompilacji wykazują brak definicji zmiennych: m_Text, a, prec, b.

Page 21: Aplikacja dialogowa MFC krok po kroku

9. Zdefiniuj ww. zmienne w klasie okna dialogowego. Kliknij prawym klawiszem nazwę klasy okna dialogowego w zakładce „Clas..” i wybierz „Add|

MemberVariable”.

Page 22: Aplikacja dialogowa MFC krok po kroku

Dodobnie dodaj zmienną prec typu int oraz zmienne a, b typu double.

Page 23: Aplikacja dialogowa MFC krok po kroku
Page 24: Aplikacja dialogowa MFC krok po kroku
Page 25: Aplikacja dialogowa MFC krok po kroku

10. Dodaj zmienną zabezpieczoną (Protected) m_Text typu CString do klasy dialogowej. W tym celu przejdź do zakładki Class View. Wykonaj dwuklik na klasę dialogową -

przejdziesz do edycji tej funkcji. Po instrukcji double b; dopisz inicjacje zmiennej CString m_Text;

Page 26: Aplikacja dialogowa MFC krok po kroku

11. Zmień system kodowania znaków. Przy otwartym projekcie wejdź w Project->Properties

Page 27: Aplikacja dialogowa MFC krok po kroku

Configuration Properties->General, znajdź pole Character Set i wybierzUse Multi-Byte Character Set.

Page 28: Aplikacja dialogowa MFC krok po kroku

12. Klikinij na klasę dialogowa. W poniżej ukażą się funkcje tej kasy. Wykonaj dwuklik na funkcji „OnInitDialog()”

Page 29: Aplikacja dialogowa MFC krok po kroku

– przejdziesz do edycji tej funkcji. Przed instrukcją return TRUE; dopisz inicjację zmiennej prec – dopisz instrukcję prec=3;.

Page 30: Aplikacja dialogowa MFC krok po kroku

Skompiluj i uruchom program. Spróbuj wpisywać dane.

Page 31: Aplikacja dialogowa MFC krok po kroku

13. W podobny sposób zainicjuj zmienne a i b oraz linie edycyjne wpisując do funkcji „OnInitDialog” instrukcje: /…/

Page 32: Aplikacja dialogowa MFC krok po kroku

14. Dodaj funkcję obsługi kliknięcia klawisza „OK.”. W edytorze graficznym kliknij ten klawisz prawym klawiszem myszki i wybierz „Add Event Handler…”.,

Page 33: Aplikacja dialogowa MFC krok po kroku

a następnie klawisz „Add and Edit” i zaakceptuj nazwę funkcji.

Page 34: Aplikacja dialogowa MFC krok po kroku

W edytorze tekstu źródłowego usuń instrukcję OnOK();

Page 35: Aplikacja dialogowa MFC krok po kroku

i na jej miejsce wpisz instrukcje: /…/

Page 36: Aplikacja dialogowa MFC krok po kroku

15. Przetestuj działanie programu.

Page 37: Aplikacja dialogowa MFC krok po kroku

16. Do okna programu (edycja graficzna) wstaw kontrolkę „Group Box” i zwiększ jej wymiary.

Page 38: Aplikacja dialogowa MFC krok po kroku

W obszar kontrolki wstaw jeden pod drugim 4 przyciski „Radio Button”.

Page 39: Aplikacja dialogowa MFC krok po kroku

Zaznacz te przyciski i kliknij prawym klawiszem myszki, a następnie wyrównaj położenie przycisków wybierając „Align Left Edges”.

Page 40: Aplikacja dialogowa MFC krok po kroku

17. Podobnie jak w p. 4 zaopatrz przyciski w teksty; „Dodaj”, „Odejmij”, „Pomnóż” i „Podziel”.

Page 41: Aplikacja dialogowa MFC krok po kroku

W oknie właściwości pierwszego przycisku („Dodaj”) zaznacz opcję„Group” -> TRUE

Page 42: Aplikacja dialogowa MFC krok po kroku

Dla tego przycisku stwórz zmienną m_zadanie typu int – klikając go prawym klawiszem i wybierając „Add Variable…”.

Page 43: Aplikacja dialogowa MFC krok po kroku

W „Add Member Variable Wizard” zmień „Category” na „Value”. Następnie ustaw „Variable Type ” na typ całkowity „int”. nadaj nazwę zmiennej w

okienku „Variable Name” i naciśnij „OK”.

Page 44: Aplikacja dialogowa MFC krok po kroku

18. W konstruktorze klasy okna dialogowego sprawdź wartość początkową zmiennej m_zadanie. Jeżeli wartość będzie różna od 0, zmień ją na „0”.

Następnie sprawdź działanie programu.

Page 45: Aplikacja dialogowa MFC krok po kroku

19. Zmodyfikuj działanie funkcji obsługi naciśnięcia klawisza OK. tak, aby wynik zależał od wartości zmiennej m_zadanie (po wykonaniu funkcji UpdateData(), aktualizowane są wartości zmiennych stowarzyszonych z przyciskami i zmienna m_zadanie otrzymuje

wartości: 0 – dodawanie, 1 – odejmowanie, 2 – mnożenie i 3 – dzielenie).

Page 46: Aplikacja dialogowa MFC krok po kroku

20. Umieść w oknie dialogowym tekst statyczny i linię edycyjną do wprowadzenia wymaganej liczby cyfr ułamkowych – precyzji.

Page 47: Aplikacja dialogowa MFC krok po kroku

Napisz funkcję obsługi tej kontrolki „Edit Control”, aby wprowadzoną liczbę całkowitą podstawiać do zmiennej prec zdefiniowanej w klasie okna

dialogowego.

Page 48: Aplikacja dialogowa MFC krok po kroku

21*. Działający program! (przypisek: Brian Bartkowiak)