Wykład 9 Programowanie w Windows 1.Programowanie zdarzeniowe 2.Zdarzenia obsługiwane przez Windows 3.Aplikacja obsługująca klawisz myszki 4.AppWizard PO9-1.

Slides:



Advertisements
Podobne prezentacje
Programowanie obiektowe
Advertisements

Podgląd historii w przeglądarkach internetowych
Prezentacja Piotr Mucha Menu.
Wspólne skoroszytów Wspólne użytkowanie skoroszytów Arkusze i skoroszyty Tworzenie nowego skoroszytu Obliczenia w skoroszytach Przeglądanie wzorów w skoroszytach.
MS Access 2000 Tworzenie tabel Piotr Górczyński 2005.
Pierwsze kroki Otwórz przeglądarkę internetową
Tworzenie prezentacji w programie PowerPoint
„Zasady formatowania plików w formacie Microsoft Word”
Wyższa Szkoła Ekologii i Zarządzania
WINDOWS 95.
Malowanie na ekranie- Paint (Paintbrush).
Visual C++ Zastosowania Informatyki Wykład 6 Copyright, 2003 © Adam Czajka.
C# Windows Forms Zastosowania Informatyki Wykład 4, 5
C# Windows Forms Zastosowania Informatyki Wykład 2
Opracowała: Iwona Kowalik
Programowanie w Środowisku Windows
ADRESOWANIE WZGLĘDNE I BEZWZGLĘDNE Ćwiczenia
Mateusz Antonow. Tekst Obraz Galeria Media Kształty & linie Przyciski & menu Sklep Internetowy Ustawienia Społecznościowe Aplikacje 3. Dodaj.
Podstawy użytkowania komputerów - ćwiczenia
Tajemnice klawiatury.
Obiekty dynamiczne Tworzenie klas 3 MPDI Programowanie obiektowe W4.
Poznaj bliżej program Microsoft Office Word 2007
Tadeusz Ziębakowski Zachodniopomorski Uniwersytet Technologiczny.
Podstawy programowania II
A. Jędryczkowski - marzec 2005 r. ©
Kurs komputerowy - podstawy
Temat: Operacje na plikach i folderach str.
Projekt jest współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.
Janusz ROŻEJ GENERATORY APLIKACJI Generatory aplikacji Janusz ROŻEJ
Opracowała Urszula Guzikowska
Word to proste!.
Informatyka Pisanie na ekranie.
Programowanie obiektowe – zastosowanie języka Java SE
Programowanie w Środowisku Windows
Poznajemy edytor tekstu Microsoft Word
TECHNOLOGIE INFORMATYCZNE Tydzień 6
Urzekające kwiatki w gimpie Samouczek
Edytor tekstu Word.
Robimy własne notatki - Notatnik
Partner Handlowy Konfiguracja sieci TCP/IP - Windows 9x.
Partner Handlowy Konfiguracja sieci TCP/IP - Windows 2000, Xp, 2003.
Instrukcja USOS Raporty tekstowe wersja by Marek Opacki.
EDYTOR GRAFIKI "PAINT" Prezentacja ma na celu zapoznanie uczniów z podstawowymi funkcjami edytora grafiki Paint.
Okienkowy system operacyjny
Ms Access Formularze i raporty Marzena Nowakowska KIS, WZiMK, PŚk
Formularze i kontrolki. Podstawy projektowania formularzy  Dopilnuj, by użytkownik rozumiał, o co jest pytany i dlaczego,  W miarę możliwości nie zadawaj.
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
Program Logomocja.
Dofinansowano ze środków Ministra Kultury i Dziedzictwa Narodowego
Systemy operacyjne Wykład 3a Działanie aplikacji okienkowej dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki
Temat 3: Okno dialogowe.
Wzorce slajdów, animacje, różne orientacje slajdów
Kolumny, tabulatory, tabele, sortowanie
Formatowanie dokumentów
SAMOUCZEK PRZYKŁAD ZASTOSOWANIA PROGRAMU DO MODELOWANIA TARCZ.
© 2012 Microsoft Corporation. Wszelkie prawa zastrzeżone. Dodawanie kontaktu Lista Kontakty upraszcza komunikację i umożliwia sprawdzenie statusu obecności.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
poziom średniozaawansowany
Komunikaty Windows Jacek Matulewski 22 września 2012 Programowanie Windows
Wykład 10 Programowanie w Windows 1.Aplikacja dialogowa (Dialog Based) PO10-1 / 26.
Program naszych zajęć Zakres, który obejmują nasze kursy: – Podstawowa obsługa komputera – Obsługa przeglądarek i wyszukiwarek – Obsługa kont mailowych.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim

Instrukcja USOS Aktualizacja wersja by Marek Opacki.
Wykład 4 Dr Aneta Polewko-Klim
KROK 1 Zakładanie kartotek magazynowych
Visual Basic w programie Microsoft Excel
Programowanie obiektowe – zastosowanie języka Java SE
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Najważniejsze informacje dotyczące programu Sway.
Zapis prezentacji:

Wykład 9 Programowanie w Windows 1.Programowanie zdarzeniowe 2.Zdarzenia obsługiwane przez Windows 3.Aplikacja obsługująca klawisz myszki 4.AppWizard PO9-1 / 29

Program proceduralny i zdarzeniowy Program proceduralny wykonuje kolejne funkcje krok po kroku. Jeśli czeka na zdarzenie, to na zdarzenie ściśle określone w danym momencie (wprowadzenie danych, wybór opcji menu, naciśnięcie klawisza itp.). Program zdarzeniowy wykonuje funkcje w odpowiedzi na zdarzenia. Czeka na dowolne zdarzenie przewidziane do obsługi. PO9-2 / 29

Program proceduralny Zdefiniuj początkowe obiekty i zainicjuj je Start Czekaj na zdarzenie (np. na wprowadzenie danych) Stop Przykład Przetwarzaj dane Czekaj na zdarzenie (np. na zapisanie wyników) Zamknij aplikację PO9-3 / 29

Program zdarzeniowy Zdefiniuj początkowe obiekty i zainicjuj je Start Czekaj na zdarzenie Czy zamknąć aplikację? NieTak Wykonaj funkcję obsługi zdarzenia Wykonaj funkcję obsługi zdarzenia i zamknij aplikację Stop PO9-4 / 29

Obsługa zdarzenia Przekaż obsługę zdarzenia do aplikacji Czy aplikacja obsłuży je? NieTak Wykonaj funkcję obsługi zdarzenia Przekaż obsługę zdarzenia do Windowsa PO9-5 / 29

Zdarzenia obsługiwane przez Windows 1.Zdarzenia generowane przez klawiaturę 2.Zdarzenia generowane przez mysz PO9-6 / 29

Komunikaty klawiatury System Windows ma wbudowane mechanizmy obsługi komunikatów zdarzeń pochodzących od: klawiatury i myszki. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags); afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags); afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); Klawiatura generuje komunikaty: WM_CHAR– gdy klawisz jest naciśnięty, WM_KEYDOWN– podczas naciskania klawisza, WM_KEYUP– podczas zwalniania klawisza. Zdarzenia te są obsługiwane przez funkcje: PO9-7 / 29

Komunikaty myszki Naciśnięcie i zwolnienie lewego, prawego przycisku myszki oraz podwójne naciśnięcie (dwuklik) lewego i prawego przycisku wysyłają komunikaty: WM_LBUTTONDOWN, WM_LBUTTONUP, WM_RBUTTONDOWN, WM_RBUTTONUP, WM_LBUTTONDBLCLK, WM_RBUTTONDBLCLK. afx_msg void OnLButtonUp (UINT nFlags, CPoint point); W odpowiedzi na te zdarzenia system wywołuje funkcje: OnLButtonDown, OnLButtonUp, OnRButtonDown, OnRButtonUp, OnLButtonDblClk oraz OnLButtonDblClk o identycznym zestawie parametrów jak poniżej: PO9-8 / 29

Komunikaty myszki 2 point zawiera współrzędne myszki ( point.x, point.y ) nFlags jest mapą bitową afx_msg void OnLButtonUp (UINT nFlags, CPoint point); Za pomocą parametru point system przekazuje do funkcji współrzędne myszki względem lewego górnego rogu okna dialogowego. Aby przeliczyć te współrzędne na współrzędne ekranowe, należy wywołać funkcję BOOL GetCursorPos(CPoint *point); Mapa bitowa nFlags zawiera następujące bity, które ustawione oznaczają: MK_LBUTTON – naciśnięto lewy przycisk myszki, MK_MBUTTON – naciśnięto środkowy przycisk myszki, MK_RBUTTON – naciśnięto prawy przycisk myszki, MK_CONTROL – Ctrl był naciśnięty podczas zdarzenia, MK_SHIFT – Shift był naciśnięty podczas zdarzenia. PO9-9 / 29

Przykład afx_msg void CMyDlg::OnLButtonUp (UINT nFlags, CPoint point) { CString s; CPoint P(point); GetCursorPos(&P); s.Format("Pozycja myszy=(%d, %d) " "Pozycja na ekranie=(%d, %d)", point.x, point.y, P.x, P.y); SetWindowText(s); CDialog::OnLButtonUp(nFlags, point); } PO9-10 / 29

Tworzenie projektu PO9-11 / 29

WorkSpace PO9-12 / 29

Tworzenie programu PO9-13 / 29

Kompilacja i uruchomienie PO9-14 / 29

Program PO9-15 / 29

AppWizard 1.Tworzenie projektu MFC AppWizard 2.Programowanie interfejsu 3.Kontrolki i ich klasy 4.Komunikaty generowane przez kontrolki PO9-16 / 29

Projekt MFC AppWizard Interfejs oraz szkielet programu generowany przez AppWizard Funkcje obsługi zdarzeń Zasoby programu Użytkownik Dialog Based Single Document Multiple Documents MFC = Microsoft Foundation Class PO9-17 / 29

Tworzenie projektu PO9-18 / 29

Tworzenie projektu (2) PO9-19 / 29

Tworzenie projektu (3) PO9-20 / 29

Tworzenie projektu (4) PO9-21 / 29

Programowanie interfejsu PO9-22 / 29

Wybrane klasy MFC CWnd CObject CCmdTarget CButton COleControl CAnimateCtrl CEdit CComboBox CProgressCtrl CListBox CScrollBar CStatic CMonathCalCtrl CSliderCtrl CDateTimeCtrl CTabCtrl MFC = Microsoft Foundation Class PO9-23 / 29

Zestaw kontrolek PO9-24 / 29

Zestaw kontrolek Con... Aaab| ab  xyz  Wybór Statyczne pole tekstowe Grupa obiektów Pole wyboru Lista rozwijana Pasek przewijania poziomego Przewijanie pionowe listy Suwak Okno listy szczegółowej Karty Pole tekstu formatowanego Kalendarz Kontrolka użytkownika Pasek przewijania pionowego Wskaźnik postępu „Gorący” klawisz Drzewo Element animowany Próbnik daty i godziny Pole adresu IP Rozszerzone okno listy rozwijanej Pole listy Przełącznik opcji Przycisk Pole edycji Ilustracja PO9-25 / 29

Klasy kontrolek Con... Aaab| ab  xyz  CStatic CButton CComboBox CScrollBar CSpinPuttonCtrl CSliderCtrl CListCtrl CTabCtrl CRichEditCtrl CMonthCalCtrl COleControl CScrollBar CProgressCtrl CHotKeyCtrl CTreeCtrl CAnimateCtrl CDateTimeCtrl CIPAddressCtrl CComboBoxEx CListBox CButton CEdit PO9-26 / 29

Generowane komunikaty Con... Aaab| ab  xyz  BN_CLICKED, BN_DOUBLECLICKED EN_CHANGE, EN_KILLFOCUS, EN_SETFOCUS, EN_ERRSPACE, EN_HSCROLL, EN_VSCROLL, EN_MAXTEXT BN_CLICKED, BN_DOUBLECLICKED LBN_DBLCLICK, LBN_KILLFOCUS, LBN_SETFOCUS, LBN_SELCANCEL, LBN_ERRSPACE, LBN_SELCHANGE CBN_CLOSEUP, CBN_DROPDOWN, CBN_DBLCLK, CBN_EDITCHANGE, CBN_EDITUPDATE, CBN_ERRSPACE, CBN_KILLFOCUS, CBN_SETFOCUS, CBN_SELCHANGE, CBN_SELENDOK, CBN_SELNDCANCEL NM_OUTOFMEMORY, UDN_DELTAPOS NM_OUTOFMEMORY NM_OUTOFMEMORY, NM_CUSTODRAW, NM_RELEASEDCAPTURE IPN_FIELDCHANGED CBN_EDITCHANGE, CBN_CLOSEUP, CBN_DBLCLK, CBN_KILLFOCUS,... NM_CLICK, NM_DBLCLK, NM_KILLFOCUS, NM_RETURN,... NM_CLICK, TCN_SELCHANGE, NM_RCLICK, TCN_KEYDOWN... MCN_GETDAYSTATE, MCN_SELECT, MCN_SELCHANGE, MCN_RELEASECAPTURE,... NM_CLICK, NM_DBLCLK, NM_KILLFOCUS, NM_RCLICK,... DTN_CLOSEUP, DTN_DROPDOWN,... NM_KILLFOCUS, NM_RETURN,... NM_CLICK, NM_DBLCLK, NM_KILLFOCUS, NM_RETURN,... PO9-27 / 29

Kontekstowe menu kontrolki Cut Copy Past Insert ActiveX Control... Size to Content Align Left Edges Align Top Edges Check Mnemonics ClassWizard... Events... Properties PO9-28 / 29

Okno komunikatów Lista komunikatów kontrolki „Edit Box”, którym nie zdefiniowano funkcji obsługi Lista komunikatów kontrolki „Edit Box”, którym zdefiniowano funkcje obsługi Opis zdarzenia generującego podświetlony komunikat PO9-29 / 29