Aplikacja dialogowa MFC krok po kroku

2,667 views

Published on

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.

Published in: Self Improvement
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,667
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Aplikacja dialogowa MFC krok po kroku

  1. 1. MFC Krok po kroku Aplikacja dialogowa – budowa interfejsu użytkownika Zadania laboratoryjne (czas realizacji: 1 tydzieo)Celem dwiczenia jest poznanie sposobu tworzenia aplikacji windowsowych MFC oraz zasad umieszczania i programowania podstawowych kontrolek w oknie dialogowym.Uruchomid program, który w zależności od wyboru: doda, odejmie, pomnoży lub podzieli dwie liczby. W tym celu należy wykonad poniższe kroki. Tekst: Prof. Jerzy Kisilewicz Obrazki: Brian Bartkowiak, student
  2. 2. 1. Wybrad z menu File|New|Projects.
  3. 3. a. Wybrad lokalizację, czyli katalog, w którym automatycznie powstanie podkatalog (przestrzeo robocza tworzonego programu -> ang location). W przestrzeni roboczej będą umieszczone pliki tworzonego programu.b. Wpisad nazwę projektu (będzie to nazwa podkatalogu i równocześnie programu) -> name. c. Z listy projektów wybrad: VisualC++|MFC|MFC Application. i nacisnąd „OK”.
  4. 4. 2. Step1 – Nacisnąd „Next”.
  5. 5. Wybrad typ aplikacji „Dialog based” i nacisnąd klawisz „Finish”.
  6. 6. 3. Skompilowad i uruchomid wybraną aplikację. Wybrad z menu: Build|Build…, a następnie po poprawnej kompilacji uruchomid program wybierając: Debug| Start Without Debugging ... .
  7. 7. Powieli się okno z nazwą programu – zakooczyd program naciskając klawisz „OK.” lub „Cancel”.
  8. 8. 4. Kliknąd napis “TODO: Place dialog controls here.” ( kontrolka „StaticTextt”) Przesunąd okienko z tym tekstem do górnej krawędzi okna programu. Kliknąd prawym klawiszem na ww. tekst i wybrad „Properties”.
  9. 9. W okienku właściwości w linii edycyjnej„Appearance|Caption” wpisad inny dowolny tekst. W zakładce „Align Textt” można zmienid zmienid położenie tekstu.
  10. 10. 5. Z okienka „Toolbox” przeciągnąd myszką ikony Aa (Static Textt) oraz ab|(EditBox) na wybrane miejsca obok siebie w okienku programu.
  11. 11. Jak w p. 4 wprowadzid do kontrolki „Static Textt” tekst z opisem pierwszej danej, która będzie wprowadzana do linii edycyjnej „Edit Box”. Powtórzyd(dwa razy) czynności z p.5 dla drugiej danej i dla wyniku. Uruchomid program.
  12. 12. 6. We właściwościach linii edycyjnej wyniku wybrad zakładkę „Behavior” i ustawid opcję „Read-only” na TRUE.
  13. 13. 7. Zdefiniuj obsługę zdarzeo w pierwszej linii edycyjnej. Kliknij jej ikonę prawym klawiszem i wybierz „Add Event Handler…”.
  14. 14. 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).
  15. 15. Wpisz następującą zawartośd funkcji obsługi zdarzenia /../
  16. 16. 8. Aby wrócid do edycji graficznej w lewym oknie (w zakładce „Res..”) rozwio drzewo i gałąź „Dialog” oraz wybierz (dwuklik) okno dialogowe programu (IDE_Nazwa_Projektu_DIALOG).
  17. 17. Powtórz to samo dla drugiej linii edycyjnej (z identyfikatorem IDC_EDIT2)
  18. 18. używając zmiennej b w miejsce zmiennej a.
  19. 19. Skompiluj program.
  20. 20. Błędy kompilacji wykazują brak definicji zmiennych: m_Text, a, prec, b.
  21. 21. 9. Zdefiniuj ww. zmienne w klasie okna dialogowego. Kliknij prawymklawiszem nazwę klasy okna dialogowego w zakładce „Clas..” i wybierz „Add|MemberVariable”.
  22. 22. Dodobnie dodaj zmienną prec typu int oraz zmienne a, b typu double.
  23. 23. 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;
  24. 24. 11. Zmieo system kodowania znaków. Przy otwartym projekcie wejdź w Project->Properties
  25. 25. Configuration Properties->General, znajdź pole Character Set i wybierz Use Multi-Byte Character Set.
  26. 26. 12. Klikinij na klasę dialogowa. W poniżej ukażą się funkcje tej kasy. Wykonaj dwuklik na funkcji „OnInitDialog()”
  27. 27. – przejdziesz do edycji tej funkcji. Przed instrukcją return TRUE; dopisz inicjację zmiennej prec – dopisz instrukcję prec=3;.
  28. 28. Skompiluj i uruchomprogram. Spróbuj wpisywad dane.
  29. 29. 13. W podobny sposób zainicjuj zmienne a i b oraz linie edycyjne wpisując do funkcji „OnInitDialog” instrukcje: /…/
  30. 30. 14. Dodaj funkcję obsługi kliknięcia klawisza „OK.”. W edytorze graficznymkliknij ten klawisz prawym klawiszem myszki i wybierz „Add Event Handler…”.,
  31. 31. a następnie klawisz „Add and Edit” i zaakceptuj nazwę funkcji.
  32. 32. W edytorze tekstu źródłowego usuo instrukcję OnOK();
  33. 33. i na jej miejsce wpisz instrukcje: /…/
  34. 34. 15. Przetestuj działanie programu.
  35. 35. 16. Do okna programu (edycja graficzna) wstaw kontrolkę „Group Box” i zwiększ jej wymiary.
  36. 36. W obszar kontrolki wstaw jeden pod drugim 4 przyciski „Radio Button”.
  37. 37. Zaznacz te przyciski i kliknij prawym klawiszem myszki, a następnie wyrównaj położenie przycisków wybierając „Align Left Edges”.
  38. 38. 17. Podobnie jak w p. 4 zaopatrz przyciski w teksty; „Dodaj”, „Odejmij”, „Pomnóż” i „Podziel”.
  39. 39. W oknie właściwości pierwszego przycisku („Dodaj”) zaznacz opcję „Group” -> TRUE
  40. 40. Dla tego przycisku stwórz zmienną m_zadanie typu int – klikając go prawym klawiszem i wybierając „Add Variable…”.
  41. 41. W „Add Member Variable Wizard” zmieo „Category” na „Value”. Następnie ustaw „Variable Type ” na typ całkowity „int”. nadaj nazwę zmiennej w okienku „Variable Name” i naciśnij „OK”.
  42. 42. 18. W konstruktorze klasy okna dialogowego sprawdź wartośd początkową zmiennej m_zadanie. Jeżeli wartośd będzie różna od 0, zmieo ją na „0”. Następnie sprawdź działanie programu.
  43. 43. 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(), aktualizowanesą wartości zmiennych stowarzyszonych z przyciskami i zmienna m_zadanie otrzymuje wartości: 0 – dodawanie, 1 – odejmowanie, 2 – mnożenie i 3 – dzielenie).
  44. 44. 20. Umieśd w oknie dialogowym tekst statyczny i linię edycyjną do wprowadzenia wymaganej liczby cyfr ułamkowych – precyzji.
  45. 45. Napisz funkcję obsługi tej kontrolki „Edit Control”, aby wprowadzoną liczbę całkowitą podstawiad do zmiennej prec zdefiniowanej w klasie okna dialogowego.
  46. 46. 21*. Działający program! (przypisek: Brian Bartkowiak)

×