Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API



Podobne dokumenty
Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Opis. Wykład: 30 Laboratorium: 30

Programowanie na poziomie sprzętu. Programowanie w Windows API

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania - 1

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

Środowiska i platformy programistyczne

Podstawy programowania. Wprowadzenie

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Narzędzia RAD (wykład 1)

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

KARTA MODUŁU KSZTAŁCENIA

Król Łukasz Nr albumu:

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Platformy Programowania

Programowanie komputerowe. Geodezja i Kartografia I stopień (I stopień / II stopień) akademicki (ogólno akademicki / praktyczny)

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Programowanie obiektowe

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

KARTA PRZEDMIOTU. Programowanie aplikacji bazodanowych w języku C# D1_2

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Programowanie komputerowe Computer programming

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

kierunkowy (podstawowy / kierunkowy / inny HES) nieobowiązkowy (obowiązkowy / nieobowiązkowy) polski semestr V zimowy i letni (semestr zimowy / letni)

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Programowanie dla ios

Projekt: Mikro zaprogramowane na sukces!

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

PROE wykład 8 Interfejs użytkownika (GUI) dr inż. Jacek Naruniec

KARTA PRZEDMIOTU. Programowanie aplikacji sieciowych w języku C# D1_2

Szczegółowy opis zamówienia:

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Język programowania. Andrzej Bobyk

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Praca w środowisku Visual Studio 2008, Visual C

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Zaawansowane aplikacje internetowe - laboratorium

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych

Instrukcja laboratoryjna cz.3

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Programowanie obiektowe 2 - opis przedmiotu

KARTA MODUŁU KSZTAŁCENIA

Elektrotechnika I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Semestr zimowy Podstawy Informatyki, Logika TAK

Rok akademicki: 2014/2015 Kod: MIO s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

Programowanie w środowisku graficznym GUI

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Automatyzacja Testowania w WEB 2.0

Spis treści. Strona 1 z 20

Visual Studio instalacja

PRZEWODNIK PO PRZEDMIOCIE

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie II C10

Programowanie obiektowe

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Temat 3. Projektowanie interfejsu użytkonwnika Kalkulator pierwszy program dla IOS

Laboratorium - Harmonogramowanie zadania przy użyciu GUI i polecenia AT w systemie Windows 7

Swing Application Framework czyli tam i z powrotem. Copyright Piotr Kochański & Erudis,

WebAii Automation Framework

Makropolecenia w PowerPoint Spis treści

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Platforma.NET laboratorium 1. Visual Basic.NET podstawowe elementy języka. Wykonanie warunkowe If End If

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Podstawy Programowania 2

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Programowanie aplikacji okienkowych Windows

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

OBC01/TOPMOB Projektowanie w języku Objective-C

Samsung Universal Print Driver Podręcznik użytkownika

Instrukcja instalacji oprogramowania dla środowiska Windows

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

PRZEWODNIK PO PRZEDMIOCIE

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

SYSTEM OPERACYJNY. Monika Słomian

Laboratorium - Zarządzanie pamięcią wirtualną w systemie Windows XP

Laboratorium - Konfiguracja ustawień przeglądarki w Windows Vista

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

Informatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018

1. Wprowadzenie do WPF i XAML. Tworzenie interfejsu użytkownika.

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Aplikacje w środowisku VBA. Visual Basic for Aplications

Transkrypt:

Programowanie w środowiskach graficznych Wykład 1 OS, Podstawy Windows API 1

WSTĘP 2

Cele wykładu Zaznajomić z podstawowymi mechanizmami programowania zdarzeniowego (w systemie operacyjnym Windows). Nauczyć wykorzystania funkcjonalności Windows API, biblioteki Windows Forms zawartej w.net Framework. Zaznajomić z ogólnymi zasadami projektowania i tworzenia graficznego interfejsu użytkownika z uwzględnieniem ergonomii oraz analizy potrzeb potencjalnych użytkowników. Używany do tego język: C# 3

Cele laboratorium Implementacja wybranych mechanizmów programowania w środowisku graficznym systemu Windows (przy użyciu języka C# w środowisku programistycznym Microsoft Visual Studio) Znajomość podstawowych mechanizmów wykorzystywanych podczas programowania w systemie Windows Umiejętność wykorzystania funkcjonalności Windows API, obudowanej w bibliotekę Windows Forms zawartą w.net Framework do tworzenia interfejsów użytkownika Znajomość ogólnych zasad projektowania graficznego interfejsu użytkownika z uwzględnieniem ergonomii oraz analizy potrzeb potencjalnych użytkowników 4

Treści przedmiotu 1. Charakterystyka programowania obiektowego w języku C#. 2. Podstawy graficznego interfejsu użytkownika. Ogólne zasady tworzenia graficznego interfejsu użytkownika. Urządzenia wejściowe i wyjściowe. 3. Podstawowe informacje na temat Windows API: okna, komunikaty, struktury danych, obsługa myszy i klawiatury. Standardowe kontrolki Windows, etykiety, menu, menu kontekstowe, paski narzędzi, paski statusu, paski podziału. 4. Tworzenie aplikacji z użyciem Windows Forms: podstawowe informacje aplikacja, formularze, zdarzenia, okna dialogowe. Kontrolki dostępne w Windows Forms. GDI a GDI+. Używanie GDI+: pióra, pędzle, rysunki, praca z tekstem, praca z informacją obrazową, transformacje graficzne. Prezentacja i edycja informacji ze źródeł tabelarycznych: DataGrid, ListBox, DataGridView. 5. Okna dialogowe: modalne, niemodalne, standardowe. Komunikacja między oknami. 6. Wybrane mechanizmy systemu operacyjnego Windows: schowek, rejestr, pamięć, procesy i wątki, biblioteki DLL, COM, ActiveX. 7. Lokalizacja i regionalizacja: tworzenie wielojęzycznych GUI. 5

Literatura: 1. Lars Powers, Mike Snell - Microsoft Visual Studio 2008. Ksiega eksperta. Helion, 2009. 2. Andrew Thoelsen - Jezyk C# i platforma.net. Wydawnictwo Naukowe PWN, 2008. 3. John Sharp, Jon Jagger - Microsoft Visual C#.NET. Wydawnictwo RM, 2002. 4. Allen Jones - C# Księga przykładów. Wydawnictwo Promise, 2005. 5. Jose Mojica - C# i ASP.net. Szybki start. Helion, 2004. 6. Joe Mayo - C# 3.0 dla.net 3.5 Księga eksperta. Helion, 2010. 6

Zaliczenie Laboratorium: zaliczenie na ocenę, na które składają się oceny z kolokwium zaliczeniowego oraz samodzielnej pracy na zajęciach. Wykład: kolokwium zaliczeniowe. 7

KONTEKST: SYSTEMY OPERACYJNE NA ŚWIECIE 8

Użycie desktopowych systemów operacyjnych na świecie Data provided by > Net Applications, http://www.netmarketshare.com/ 9

Użycie desktopowych systemów operacyjnych na świecie Data provided by > Net Applications, http://www.netmarketshare.com/ 10

Użycie mobilnych i tabletowych systemów operacyjnych na świecie Data provided by > Net Applications, http://www.netmarketshare.com/ 11

Wizyty na witrynach www (OS) Operating Systems 1 Windows 7 40.49% 2 Android 4 12.28% 3 Windows 8.1 8.54% 4 Windows XP 7.73% 5 ios 8 7.39% 6 Mac OS X 6.25% 7 ios 7 3.77% 8 Windows 8 2.61% 9 Linux 2.43% 10 Windows Vista 2.13% http://www.w3counter.com/globalstats.php (31.01.2015) 12

Wizyty na witrynach www (rozdzielczości) Data provided by > Net Applications, http://www.netmarketshare.com/ 13

Popularność języków programowania (http://www.tiobe.com) 14

Popularność języków programowania (http://www.tiobe.com) 15

Wnioski Programujemy na desktopa wybieramy Windows (~92%); Programujemy mobilnie wybieramy Androida (otwarty, niejednorodny) lub ios (hermetyczny); Programujemy www musimy myśleć o wielu rozdzielczościach; Programujemy gry wybieramy konkretną platformę (Wii U, PlayStation 3/4, Xbox 360/One, PC, mobilne ) lub tworzymy wieloplatformowo (np. Unity, Javascript). 16

Wersje MS Windows http://commons.wikimedia.org/wiki/file%3awindows_updated_family_tree.png By Kristiyan Bogdanov [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons from Wikimedia Commons 17

18

Narzędzia programistyczne dla Windows (wybrane) Windows API Win16 - do Windows 3.1 Win32s - Windows 3.1 Win32 - od Windows 95 i wszystkie wersje NT Visual Basic Visual C++ MFC (Microsoft Foundation Class Library) WTL (Windows Template Library) Visual J++.NET Windows Forms (.NET Framework 1.0+) m.in. język C# Windows Presentation Foundation (.NET Framework 3.0+) Delphi Builder C++ Borland Developer Studio Qt GTK+ wxwidgets 19

PODSTAWY WINDOWS API 20

Windows API Windows Application Programming Interface (API) to uniwersalny zestaw funkcji, które umożliwiają aplikacjom (uruchomionym programom) współpracę z SO Windows. API pojawiło się w zamierzchłym Windows. 3.1, ale jest rozwijane w kolejnych wersjach Windows. Jest wstecznie kompatybilne. Korzystanie z Windows API jest możliwe z wielu języków programowania (potrzebna jest tylko obsługa DLL), m.in. C, C++, C#, Visual Basic, Object Pascal, a nawet asembler. 21

Kategorie funkcji API Zarządzanie, administracja, serwisowanie, konfigurowanie SO Monitoring wydajności SO Grafika 2D i 3D oraz media Usługi sieciowe Bezpieczeństwo (np. kryptografia, autoryzacja, uwierzytelnianie) Obsługa pamięci, plików, peryferiów, procesów i wątków Tworzenie i zarządzanie oknami. 22

Aplikacja a okna Aplikacja nie musi mieć żadnych okien, ale może też mieć jedno lub wiele okien. Aplikacja obsługująca pojedynczy dokument to tzw. aplikacja SDI (Single Document Interface); np. Paint, Notatnik. Aplikacja obsługująca i wyświetlająca wiele podobnych dokumentów to tzw. aplikacja MDI (Multiple Document Interface); np. przeglądarki www, zaawansowane programy graficzne. 23

24

25 Co to jest programowanie zdarzeniowe? Jak powinna wyglądać aplikacja okienkowa? Krok pierwszy tworzenie interfejsu użytkownika (wizualne lub w kodzie).

Co to jest programowanie zdarzeniowe? Jak powinna wyglądać aplikacja okienkowa? Krok drugi obsługa zdarzeń. (chcemy, aby akcja użytkownika spowodowała wykonanie naszego kodu) void Oblicz(...) {......... } 26

Co to jest programowanie zdarzeniowe? Jak powinna wyglądać aplikacja okienkowa? Krok trzeci interakcja z kontrolkami. (chcemy odczytać wprowadzone przez użytkownika dane, wykonać obliczenia i wyświetlić wynik) void Oblicz(...) {......... } 27

Komunikaty Aplikacje Windows działają na zasadzie odpowiedzi na zdarzenia generowane przez system i użytkownika. Komunikat to wywołanie określonej funkcji. Komunikaty mają pewną określoną sygnaturę, aby dało się łatwo odróżnić różne komunikaty. Np. komunikat mówiący o kliknięciu przyciskiem myszy na jakimś oknie, będzie zawierał: identyfikator okna, oraz m.in. który przycisk kliknięto, ile razy, położenie myszy w oknie (to wszystko upakowane w pojedynczym obiekcie klasy MouseEventArgs). Umożliwia to przesłanie komunikatu do aplikacji zarządzającej oknem, na którym kliknięto, a ona powinna na to odpowiednio zareagować. 28

Obsługa komunikatów Aplikacja powinna obsługiwać komunikaty wysłane przez jej okna, np. uaktualniać widok, wpisywać tekst w okienku, otwierać dokumenty, zminimalizować czy zamknąć okno (a może i samą aplikację). 29

Typy komunikatów generowane przez SO generowane przez użytkownika generowane przez aplikację niestandardowe: utworzone i zarejestrowane przez programistę (za pomocą RegisterWindowMessage()) 30

Pętla komunikatów Komunikaty obsługiwane są w kolejce FIFO danej aplikacji. Program odczytuje kolejno komunikaty i je obsługuje. Programistycznie jest to pętla, w której następują: odczyt kolejnego komunikatu (GetMessage), przetwarzanie (TranslateMessage), oraz przesłanie do obsługi (DispatchMessage). 31

32

Windows Forms Windows Forms to obiektowa nakładka (biblioteka) na Windows API, która wybitnie ułatwia z niej korzystanie. Windows Forms jest częścią platformy.net (wielojęzyczna i wielośrodowiskowa) Do programowania będziemy używać IDE Microsoft Visual Studio (wersje 2008, 2010, 2012 lub 2013) Będziemy używać Windows Forms oraz VS w połączeniu z językiem C#. 33

Hello World w Windows Forms using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.text = "Hello world!"; } } } 34