Post on 23-Jun-2020
Zofia Kruczkiewicz, ETE8305_9 1
Budowa aplikacji z graficznym interfejsem użytkownika -
GUI (Graphic User Interface)
1. Wzorzec fasady – klasa TAplikacjahermetyzuj ąca dost ęp do kolekcji produktów i rachunków. Udost ępnianie wszystkich prywatnych atrybutów do prezentacji, wprowadzenie standardu nazewnictwaplików – nazwy plików aplikacji poprzedzone liter ą T
2. Budowa głównego formularza GUI3. Budowa okienek dialogowych do
wprowadzania danych
Zofia Kruczkiewicz, ETE8305_9 2
Budowa aplikacji z graficznym interfejsem użytkownika -
GUI (Graphic User Interface)
1. Wzorzec fasady – klasa TAplikacjahermetyzuj ąca dost ęp do kolekcji produktów i rachunków
Zofia Kruczkiewicz, ETE8305_9 3
Klasa abstrakcyjna TAbstrakcyjny – przypomnienie definicji
Wirtualny destruktor pozwala przy usuwaniu obiektów dziedziczących po klasie TAbstrakcyjny wywoła ć
charakterystyczny dla nich algorytm usuwania z pami ęci danych powi ązanych z usuwanym obiektem, zdefiniowany w destruktorze jego klasy.
Zofia Kruczkiewicz, ETE8305_9 4
Metody wirtualne przydatne do tworzenia pozycji rachunku (obiekty TZakup) z różnymi produktami i jednolitym sposobie używania tych obiektów
Metody wirtualne przydatne do tworzenia kolekcji zawierającej różne typy obiektów – elementów kolekcji
Powtórzenie informacji o klasie TProdukt1
dla GUI
Zofia Kruczkiewicz, ETE8305_9 5
Zofia Kruczkiewicz, ETE8305_9 6
Powtórzenie informacji o klasie TProdukt2
Zofia Kruczkiewicz, ETE8305_9 7
Zofia Kruczkiewicz, ETE8305_9 8
Metody wirtualne przydatne do tworzenia kolekcji zawierającej różne typy obiektów – elementów kolekcji
Powtórzenie informacji o klasie TZakup
dla GUI
Zofia Kruczkiewicz, ETE8305_9 9
Zofia Kruczkiewicz, ETE8305_9 10
Powtórzenie informacji o klasie TRachunek
Metody wirtualne przydatne do wstawiania do kolekcji zawierającej różne typy obiektów – elementów kolekcji
dla GUI
Zofia Kruczkiewicz, ETE8305_9 11
Zofia Kruczkiewicz, ETE8305_9 12
Zofia Kruczkiewicz, ETE8305_9 13
Powtórzenie informacji o klasie TKol2
Zofia Kruczkiewicz, ETE8305_9 14
Zofia Kruczkiewicz, ETE8305_9 15
Metody klasy TAplikacjahermetyzują operacje na kolekcji produktów i kolekcji zakupów
Zofia Kruczkiewicz, ETE8305_9 16
Zofia Kruczkiewicz, ETE8305_9 17
Zofia Kruczkiewicz, ETE8305_9 18
Zofia Kruczkiewicz, ETE8305_9 19
Zofia Kruczkiewicz, ETE8305_9 20
Zofia Kruczkiewicz, ETE8305_9 21
Zofia Kruczkiewicz, ETE8305_9 22
Budowa aplikacji z graficznym interfejsem użytkownika -
GUI (Graphic User Interface)
2. Budowa głównego formularza GUI
1. Wzorzec fasady – klasa TAplikacjahermetyzuj ąca dost ęp do kolekcji produktów i rachunków
Zofia Kruczkiewicz, ETE8305_9 23
Gotowa aplikacja
Zofia Kruczkiewicz, ETE8305_9 24
Zakładanie projektu
Zofia Kruczkiewicz, ETE8305_9 25
Widok modułów
Widok formularzy
Widok projektu z formularzem
Zofia Kruczkiewicz, ETE8305_9 26
Widok formularzy
Projekt z formularzem
Zofia Kruczkiewicz, ETE8305_9 27
Przed Save Project As Po Save Project As
Widok modułów
•Główny plik GUI
•Plik formularza
Zofia Kruczkiewicz, ETE8305_9 28
Plik główny GUI
Zofia Kruczkiewicz, ETE8305_9 29
Plik główny GUI z automatycznie doł ączonym
obiektem formularza głównego typu TForm1, zdefiniowanym w pliku
RachunekApp
Zofia Kruczkiewicz, ETE8305_9 30
Plik formularza – plik nagłówkowy
Zofia Kruczkiewicz, ETE8305_9 31
Plik formularza – plik modułowy
Zofia Kruczkiewicz, ETE8305_9 32
Paleta komponentów wizualnych interfejsu
użytkownika
Zofia Kruczkiewicz, ETE8305_9 33
Wybrane komponenty w aplikacji(1) przycisk
(1)
Zofia Kruczkiewicz, ETE8305_9 34
Wybrane komponenty w aplikacji (2) Pole do wprowadzania danych (3) Etykieta(4) Menu głównego formularza
(2) (3)
(4)
Zofia Kruczkiewicz, ETE8305_9 35
Zofia Kruczkiewicz, ETE8305_9 36
(5)
(6)
Wybrane komponenty w aplikacji (5) Pole tekstowe (6) Dwuwymiarowa tablica
Zofia Kruczkiewicz, ETE8305_9 37
Umieszczenie komponentu (4) TMainMenu na głównym formularzu
Zofia Kruczkiewicz, ETE8305_9 38
Wybór edytora menu z wyskakuj ącego menu (po
naciśnięciu prawego klawisza myszy na komponencie)
Zofia Kruczkiewicz, ETE8305_9 39
Wstawianie elementów menu głównego – tworzenie listy
typu Menu Bar
Zofia Kruczkiewicz, ETE8305_9 40
Wstawianie elementów menu głównego – tworzenie
elementu „Pliki” w li ście typu Menu Bar
Zofia Kruczkiewicz, ETE8305_9 41
Wstawianie listy rozwijanej do elementu „Pliki” z listy
Menu Bar – znak & pozwala wyró żnić wybran ą liter ę w
pozycji listy
Zofia Kruczkiewicz, ETE8305_9 42
Wstawianie listy rozwijanej do elementu „Pliki” z listy
Menu Bar – znak – oznacza dodanie poziomej linii do
listy
Zofia Kruczkiewicz, ETE8305_9 43
Wstawianie listy rozwijanej do elementu „Pliki” z listy
Menu Bar
Zofia Kruczkiewicz, ETE8305_9 44
Wstawiona lista rozwijana do elementu „Pliki” z listy Menu
Bar
Zofia Kruczkiewicz, ETE8305_9 45
Atrybuty komponentu TMainMenu wstawione automatycznie do pliku
nagłówkowego formularza głównego
Zofia Kruczkiewicz, ETE8305_9 46
Gotowe Menu aplikacji
Zofia Kruczkiewicz, ETE8305_9 47
Budowa aplikacji z graficznym interfejsem użytkownika -
GUI (Graphic User Interface)
3. Budowa okienek dialogowych do wprowadzania danych
1. Wzorzec fasady – klasa TAplikacjahermetyzuj ąca dost ęp do kolekcji produktów i rachunków
2. Budowa głównego formularza GUI
Zofia Kruczkiewicz, ETE8305_9 48
Dodawanie do projektu okna dialogowego z pozycji Other
Zofia Kruczkiewicz, ETE8305_9 49
Dodawanie do projektu standardowego okna
dialogowego Standard Dialogs z zakładki Dialogs
Zofia Kruczkiewicz, ETE8305_9 50
Dodawanie do projektu okna dialogowego OKBottomDlg
reprezentowanego przez plikUnit1.cpp
Zofia Kruczkiewicz, ETE8305_9 51
Przed Save As Po Save As
Widok modułów
Zmiana nazwy pliku nowego okna dialogowego z Unit1.cpp na dprodukt1.cpp
Zofia Kruczkiewicz, ETE8305_9 52
Zestaw plików projektu:
•Plik GUI
•Pliki projektu bez GUI
TRACHUNEK
TZAKUP
Zofia Kruczkiewicz, ETE8305_9 53
Podstawowe elementy standardowego okna
dialogowego
Zofia Kruczkiewicz, ETE8305_9 54
Utworzony automatycznie plik modułowy dprodukt1.cpp
okna dialogowego – po zmianie nazwy
Zofia Kruczkiewicz, ETE8305_9 55
Utworzony automatycznie plik nagłówkowy dprodukt1.h
standardowego okna dialogowego - po zmianie
nazwy
Zofia Kruczkiewicz, ETE8305_9 56
Główny plik GUI z automatycznie doł ączonym
obiektem formularza głównego typu TForm1 oraz obiektem okna dialogowego
typu TOKBottomDlg
Zofia Kruczkiewicz, ETE8305_9 57
Wskaźnik Form1 obiektu formularza głównego typu
TForm1 oraz wska źnik OKBottomDlg obiektu okna
dialogowego typu TOKBottomDlg
Zofia Kruczkiewicz, ETE8305_9 58
Wstawianie komponentów wizualnych typu TEdit do
wprowadzania danych do okna dialogowego
Zofia Kruczkiewicz, ETE8305_9 59
Wstawianie komponentów wizualnych typu TLabel jako
etykiet pól edycyjnych do okna dialogowego
Zofia Kruczkiewicz, ETE8305_9 60
Gotowy projekt okna dialogowego
Zofia Kruczkiewicz, ETE8305_9 61
Uruchomione okno dialogowe
Zofia Kruczkiewicz, ETE8305_9 62
Zawarto ść pliku nagłówkowego okna
dialogowego po wykonaniu projektu
Zofia Kruczkiewicz, ETE8305_9 63
Definicja metody Execute() do wprowadzania danych w oknie
dialogowym
Zofia Kruczkiewicz, ETE8305_9 64
Zawarto ść pliku nagłówkowego
formularza głównego –
doł ączenie pliku nagłówkowego
aplikacji z danymi oraz pliku
nagłówkowego okna dialogowego – część pierwsza
Zofia Kruczkiewicz, ETE8305_9 65
Zawarto ść pliku nagłówkowego okna formularza głównego
po wykonaniu projektu – cd.
Połączenie GUI z obiektami aplikacji za
pomoc ą obiektu hermetyzuj ącego
aplikacja typu TAplikacja
Zofia Kruczkiewicz, ETE8305_9 66
Po kliknięciu na „Dodaj produkt” można przejśćdo pisania kodu automatycznie dołączonej metody Dodajprodukt1Click obsługującej dodawanie produktów w pliku RachunekApp.cppgłównego formularza aplikacji
Zofia Kruczkiewicz, ETE8305_9 67
definicja metody pobieraj ącej dane z okna dialogowego OKBottomDlg i wywołanie
metody Wstaw_produkt obiektu aplikacja
Zofia Kruczkiewicz, ETE8305_9 68
Zawarto ść pliku modułowego okna
formularza głównego – wstawienie tablicy
napisy z komunikatami
Zofia Kruczkiewicz, ETE8305_9 69
Uruchomienie aplikacji z oknem dialogowym
do wprowadzania danych – przypadek
poprawnego wprowadzania danych
Zofia Kruczkiewicz, ETE8305_9 70
Uruchomienie aplikacji z oknem dialogowym
do wprowadzania danych – przypadek
ponownego wprowadzenia tej samej
danej
Zofia Kruczkiewicz, ETE8305_9 71
Uruchomienie aplikacji z oknem dialogowym do wprowadzania
danych –przypadek nie poprawnego
wprowadzania danych