Podstawy programowania II Zachodniopomorska Szkoła Biznesu Podstawy programowania II Wykład 8: Programowanie w Windows
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
Wielozadaniowość i zdarzenia Współ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
Uruchomienie programu w DOS'ie System uruchomienie programu Program zakończenie programu Podstawy programowania II - Programowanie z użyciem GUI
Uruchomienie programu w systemie Windows inicjalizacja System Procedury obsługi zdarzeń zdarzenie Program zdarzenie zdarzenie Podstawy programowania II - Programowanie z użyciem GUI
Podstawy programowania II - Programowanie z użyciem GUI Okna 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
Okno główne aplikacji ikona programu i menu systemowe przyciski systemowe pasek tytułu (caption) menu główne paski narzędzi pasek stanu Podstawy programowania II - Programowanie z użyciem GUI
Podstawy programowania II - Programowanie z użyciem GUI Menu 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
Hierarchia menu menu główne okna menu podręczne podmenu rozwijalne I stopnia podmenu rozwijalne II stopnia Podstawy programowania II - Programowanie z użyciem GUI
Podstawy programowania II - Programowanie z użyciem GUI Ikona 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
Podstawy programowania II - Programowanie z użyciem GUI Okna 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
Okna modalne i niemodalne modalne okno dialogowe (systemowe) niemodalne okno dialogowe Podstawy programowania II - Programowanie z użyciem GUI
Podstawy programowania II - Programowanie z użyciem GUI Kontrolki 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
Podstawy programowania II - Programowanie z użyciem GUI Przykłady kontrolek Podstawy programowania II - Programowanie z użyciem GUI
Windows – Hierarchia okien aplikacji Okno 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
Obsługa zdarzeń, komunikaty Każ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
Prosty program w C++ dla Windows // standardowa biblioteka do obsługi Windows API: #include <windows.h> // zamiast funkcji main jest WinMain: int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { // wyświetlenie systemowego okienka komunikatów: MessageBox (NULL, "Witaj świecie", "WitajMsg", 0); return 0 ; } Podstawy programowania II - Programowanie z użyciem GUI
Programowanie w Windows API Wykorzystywanie 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
Narzędzia programistyczne Nowoczesne 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
Podstawy programowania II - Programowanie z użyciem GUI GUI 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
Dziękuję po raz ostatni Koniec części drugiej wykładów.