1 Podstawy programowania IIZachodniopomorska Szkoła Biznesu Podstawy programowania II Wykład 8: Programowanie w Windows
2 Graficzny interfejs użytkownika (GUI)UI - (ang. User Interface) - część systemu komputerowego lub aplikacji umożliwiająca komunikację z użytkownikiem (człowiekiem). Przez komunikację należy rozumieć zarówno przekazywanie informacji, jak i sterowanie czy kontrolę stanu systemu. Tworzenie UI stanowi ponad połowę pracy nad programem! GUI (ang. Graphic User Interface) - interfejs użytkownika polegający na prezentowaniu w formie wizualnej zarówno przetwarzanych danych, jak i dostępnych funkcji i parametrów działania systemu. Gotowe rozwiązania oferuje zwykle system operacyjny, dla którego jest to jeden z ważniejszych elementów. Istotnym elementem GUI jest urządzenie wskazujące. Podstawy programowania II - Programowanie z użyciem GUI
3 Wielozadaniowość i zdarzeniaWspółczesne graficzne systemy operacyjne pozwalają na uruchomienie wielu programów naraz, więc żaden z nich nie posiada pełnej kontroli nad systemem Programy wykonują swoje zadania wyłącznie reakcji na zdarzenia, po obsłudze zdarzenia kontrola powraca do systemu operacyjnego. Przykłady zdarzeń: aktywacja lub zamknięcie programu wciśnięcie lub puszczenie klawisza, ruch myszy konieczność odrysowania grafiki na ekranie Użytkownik sam decyduje w dowolnej chwili z którym z programów chce się komunikować oraz w jaki sposób. Podstawy programowania II - Programowanie z użyciem GUI
4 Uruchomienie programu w DOS'ieSystem uruchomienie programu Program zakończenie programu Podstawy programowania II - Programowanie z użyciem GUI
5 Uruchomienie programu w systemie Windowsinicjalizacja System Procedury obsługi zdarzeń zdarzenie Program zdarzenie zdarzenie Podstawy programowania II - Programowanie z użyciem GUI
6 Podstawy programowania II - Programowanie z użyciem GUIOkna Okno to prostokątny fragment ekranu, który pełni określoną funkcję związaną z interfejsem programu oraz własną procedurę reakcji na zdarzenia. Najważniejsze rodzaje okien: Okno główne aplikacji Okna dialogowe Kontrolki Okna systemowe (pulpit, pasek zadań itp.) Podstawy programowania II - Programowanie z użyciem GUI
7 Okno główne aplikacji ikona programu i menu systemoweprzyciski systemowe pasek tytułu (caption) menu główne paski narzędzi pasek stanu Podstawy programowania II - Programowanie z użyciem GUI
8 Podstawy programowania II - Programowanie z użyciem GUIMenu Menu to zbiór poleceń lub opcji programu, który widoczny jest w postaci listy ich nazw. Wybór opcji odbywa się poprzez wskazanie polecenia za pomocą urządzenia wskazującego. Rodzaje menu: Menu główne okna Podmenu rozwijane Rozwijane menu podręczne Podstawy programowania II - Programowanie z użyciem GUI
9 Hierarchia menu menu główne okna menu podręcznepodmenu rozwijalne I stopnia podmenu rozwijalne II stopnia Podstawy programowania II - Programowanie z użyciem GUI
10 Podstawy programowania II - Programowanie z użyciem GUIIkona Ikona to graficzny symbol pewnego obiektu. Umożliwia użytkownikowi wykonanie różnego rodzaju akcji związanych z tym obiektem poprzez proste wskazanie za pomocą urządzenia wskazującego. Z technicznego punktu widzenia ikona to obraz rastrowy o standardowym, niewielkim rozmiarze Przykłady ikon: programy i skróty - uruchomienie dokumenty - otwarcie pliki i katalogi - kopiowanie, usuwanie itp. Podstawy programowania II - Programowanie z użyciem GUI
11 Podstawy programowania II - Programowanie z użyciem GUIOkna dialogowe Okno dialogowe to podrzędne, często wyświetlane tymczasowo okno programu, służy do przekazywania danych na określony temat, zwykle do ich wprowadzania. Wprowadzanie danych odbywa się za pomocą kontrolek umieszczonych w oknie. Okno może reagować w odpowiedni na różnego rodzaju zdarzenia związane z kontrolkami i ich użyciem przez użytkownika. Rodzaje: Okno modalne (wstrzymuje pracę programu) Okno niemodalne (pozostaje otwarte, program działa dalej) Okna systemowe - zwykle modalne, gotowe okna dialogowe oferowane przez system Podstawy programowania II - Programowanie z użyciem GUI
12 Okna modalne i niemodalnemodalne okno dialogowe (systemowe) niemodalne okno dialogowe Podstawy programowania II - Programowanie z użyciem GUI
13 Podstawy programowania II - Programowanie z użyciem GUIKontrolki Kontrolka to specjalne okno, służące do do wprowadzania lub wyprowadzania danych, a także do sterowania pracą programu Typowe kontrolki: przycisk (button) pole edycyjne (edit) tekst (static, label) pole wyboru (listbox, combobox) pole zaznaczenia (checkbox, radiobutton) grupa (groupbox) Niektóre kontrolki oferowane są przez biblioteki systemu operacyjnego, inne można znaleźć w bibliotekach, można też tworzyć własne. Podstawy programowania II - Programowanie z użyciem GUI
14 Podstawy programowania II - Programowanie z użyciem GUIPrzykłady kontrolek Podstawy programowania II - Programowanie z użyciem GUI
15 Windows – Hierarchia okien aplikacjiOkno główne aplikacji Okna modalne i niemodalne Kontrolki Okienka systemowe Kontrolki Okna modalne i niemodalne Okienka systemowe Okna modalne i niemodalne Kontrolki itd. Podstawy programowania II - Programowanie z użyciem GUI
16 Obsługa zdarzeń, komunikatyKażde okno przygotowane jest do tego aby reagować na zdarzenia, które go dotyczą Musi więc posiadać własną procedurę obsługi zdarzeń, którą wywołuje system, gdy wykryje zdarzenie związane z tym oknem W systemie Windows informacje o zdarzeniach przesyłane są w postaci komunikatów. Każdy komunikat skierowany jest do konkretnego okna i posiada swój identyfikator oraz specyficzne parametry. Komunikaty przesyłane są pomiędzy poszczególnymi oknami lub pomiędzy oknami a systemem operacyjnym Wszystkie komunikaty trafiają do kolejki komunikatów, którą system przetwarza zgodnie z kolejnością zajścia zdarzeń Podstawy programowania II - Programowanie z użyciem GUI
17 Prosty program w C++ dla Windows// standardowa biblioteka do obsługi Windows API: #include
18 Programowanie w Windows APIWykorzystywanie wyłącznie mechanizmów oferowanych przez system operacyjny Proces tworzenia kodu jest żmudny i długotrwały ze względu na konieczność pracy na niskim poziomie abstrakcji Wymaga szczegółowej znajomości mechanizmów systemu Kod źródłowy można skompilować na dowolnym kompilatorze pracującym pod MS Windows. Przydaje się w przypadku, gdy mechanizmy dostępne w modułach bibliotecznych nie dają się dopasować do naszych potrzeb. Przykład: DIALOG.CPP Podstawy programowania II - Programowanie z użyciem GUI
19 Narzędzia programistyczneNowoczesne systemy do tworzenia oprogramowania (tzw. SDK - Software Development Kit) - oferują nie tylko bogate biblioteki zawierające przydatne funkcje, kontrolki, mechanizmy itp., ale także bardzo wygodne narzędzia wspomagające tworzenie programu, które potrafią same tworzyć dużą część typowego kodu źródłowego na podstawie kilku kliknięć myszą. Najbardziej znane systemy SDK: Microsoft Visual Studio Borland C++ Builder Eclipse NetBeans Przykład: Budowa prostego projektu z uzyciem Borland C++ Builder Podstawy programowania II - Programowanie z użyciem GUI
20 Podstawy programowania II - Programowanie z użyciem GUIGUI a obiektowość Obiekty składające się na GUI stanowią jedną z najbardziej typowych dziedzin zastosowania programowania obiektowego ze wszystkimi jego możliwościami: Liczne klasy obiektów i wiele obiektów danej klasy Enkapsulacja - (np. każde okno zawiera komplet informacji na swój temat, ale udostępnia jedynie mechanizmy potrzebne do sterowania nim) Zawieranie obiektów wewnątrz innych (np. kontrolki na oknie) Dziedziczenie (np. kontrolka to specjalny rodzaj okna) Polimorfizm (wiele różnych obiektów można "Otworzyć", ale każdy inaczej) Z tego względu współczesne biblioteki do obsługi GUI zbudowane są wyłącznie w sposób obiektowy Podstawy programowania II - Programowanie z użyciem GUI
21 Dziękuję po raz ostatniKoniec części drugiej wykładów.