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

Król Łukasz Nr albumu:

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

Narzędzia RAD (wykład 1)

Podstawy programowania. Wprowadzenie

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

KARTA MODUŁU KSZTAŁCENIA

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

Platformy Programowania

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

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

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

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...

Programowanie dla ios

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

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

Instrukcja laboratoryjna cz.3

Programowanie obiektowe

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

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

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

Programowanie komputerowe Computer programming

Szczegółowy opis zamówienia:

Projekt: Mikro zaprogramowane na sukces!

Semestr zimowy Podstawy Informatyki, Logika TAK

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

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

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

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

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

Programowanie obiektowe 2 - opis przedmiotu

KARTA MODUŁU KSZTAŁCENIA

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych

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

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

PRZEWODNIK PO PRZEDMIOCIE

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET

Praca w środowisku Visual Studio 2008, Visual C

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:

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

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

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

Zaawansowane aplikacje internetowe - laboratorium

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

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

Język programowania. Andrzej Bobyk

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

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

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

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

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

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

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

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

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

WebAii Automation Framework

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

KONFIGURACJA STACJI KLIENCKIEJ UMOŻLIWIAJĄCA KORZYSTANIE Z PLATFORMY APLIKACYJNEJ

Spis treści. Strona 1 z 20

Aplikacje w środowisku VBA. Visual Basic for Aplications

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

KORZYSTANIE Z BAZY DANYCH UpToDate

Automatyzacja Testowania w WEB 2.0

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

REFERAT O PRACY DYPLOMOWEJ

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

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

APLIKACJE KLIENT-SERWER Client-Server Applications Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Wykład Ćwiczenia Laboratorium Projekt Seminarium

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

SYSTEM OPERACYJNY. Monika Słomian

KARTA PRZEDMIOTU. Aplikacje mobilne i wbudowane, D1.8

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

MS Windows Vista. Spis treści. Autor: Jacek Parzonka, InsERT

Plan zajęć studium podyplomowego PSPiZK-NET na rok

OBC01/TOPMOB Projektowanie w języku Objective-C

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

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

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

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

Oprogramowanie symulujące sterowanie obiektami budynku

KONFIGURACJA STACJI KLIENCKIEJ UMOŻLIWIAJĄCA KORZYSTANIE Z PLATFORMY APLIKACYJNEJ

SYLABUS/KARTA PRZEDMIOTU

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

Programowanie w środowisku graficznym GUI

Biblioteka Windows Forms

PRZEWODNIK PO PRZEDMIOCIE

Wprowadzenie do programowania

PRZEWODNIK PO PRZEDMIOCIE

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

MAS dr. Inż. Mariusz Trzaska. Wykład 12. Tworzenie graficznych interfejsów użytkownika

Makropolecenia w PowerPoint Spis treści

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 (styczeń 2016) Data provided by > Net Applications, http://www.netmarketshare.com/ 10

Użycie mobilnych i tabletowych systemów operacyjnych styczeń 2015 styczeń 2016 Data provided by > Net Applications, http://www.netmarketshare.com/ 11

Wizyty na witrynach www (OS) Operating Systems 1 Windows 7 26.73% 2 ios 9 13.74% 3 Android 4 11.70% 4 Android 5 8.18% 5 Windows 10 8.02% 6 Mac OS X 7.03% 7 Windows 8.1 6.24% 8 Windows XP 4.24% 9 ios 8 3.17% 10 Linux 2.62% http://www.w3counter.com/globalstats.php (31.01.2015) 12

Wizyty na witrynach www (przeglądarka) http://www.w3counter.com/globalstats.php (31.01.2016) 13

Wizyty na witrynach www (trendy przeglądarek) Data provided by > Net Applications, http://www.netmarketshare.com/ 14

Wizyty na witrynach www (przeglądarka) Screen Resolutions 1 1366x768 16.67% 2 360x640 9.40% 3 1920x1080 7.45% 4 768x1024 6.72% 5 1024x768 5.47% 6 375x667 5.02% 7 320x568 5.01% 8 1280x800 4.70% 9 1440x900 4.06% 10 1280x1024 3.92% http://www.w3counter.com/globalstats.php (31.01.2016) 15

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

Wnioski Programujemy na desktopa wybieramy Windows (~90%); Programujemy mobilnie wybieramy Androida (otwarty, niejednorodny) lub ios (hermetyczny); Programujemy www uwzględniamy wiele rozdzielczości i pamiętamy, że nie wszystkie technologie działają na różnych urządzeniach; Programujemy gry wybieramy konkretną platformę (Wii U, PlayStation 3/4, Xbox 360/One, PC, mobilne ) lub tworzymy wieloplatformowo (np. Unity, JavaScript pod przeglądarkę). 17

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 18

19

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 20

PODSTAWY WINDOWS API 21

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. 22

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. 23

Aplikacja a okna Aplikacja nie musi mieć żadnych okien, ale zwykle ma jedno lub wiele okien. Aplikacja obsługująca pojedynczy dokument to tzw. aplikacja SDI (Single Document Interface); np. Paint, Notatnik, a nawet obecnie MS Word. 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. 24

25

Komunikaty Aplikacje Windows działają na zasadzie odpowiedzi na zdarzenia generowane przez system i użytkownika. Są to komunikaty. Komunikat to po prostu wywołanie funkcji. Komunikaty mają pewną określoną sygnaturę (parametry), w miarę potrzeb. Przykład: komunikat mówiący o kliknięciu przyciskiem myszy na kontrolce, zwykle zawiera: referencję na kontrolkę (object sender), oraz m.in. który przycisk kliknięto, ile razy, położenie myszy w oknie. To wszystko upakowane w pojedynczym obiekcie (MouseEventArgs e). Taki komunikat trafia do aplikacji zarządzającej kontrolką, na której kliknięto, a ona może na to odpowiednio zareagować (tzw. handler zdarzenia). 26

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ę). 27

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

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). 29

30

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#. 31

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!"; } } } 32