Zofia Kruczkiewicz, ETE8305_9 1
Budowa aplikacji z graficznym interfejsem użytkownika -
GUI (Graphic User Interface)
1. Wzorzec fasady – klasa TAplikacja
hermetyzująca dostęp do kolekcji produktów i rachunków. Udostępnianie wszystkich
prywatnych atrybutów do prezentacji, wprowadzenie standardu nazewnictwa
plików – nazwy plików aplikacji poprzedzone literą T
2. Budowa głównego formularza GUI 3. 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 TAplikacja
hermetyzują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 TAplikacja
hermetyzują 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 TAplikacja
hermetyzują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)
TMainMenuna 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 TAplikacja
hermetyzują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 plik
Unit1.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.cpp
głó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