Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Podobne dokumenty
Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

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

Wykład 5 Okna MDI i SDI, dziedziczenie

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Programowanie obiektowe

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 6 Dziedziczenie cd., pliki

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Zaawansowane aplikacje internetowe - laboratorium

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Dodanie nowej formy do projektu polega na:

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

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

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Klasy i obiekty cz II

Kierunek: ETI Przedmiot: Programowanie w środowisku RAD - Delphi Rok III Semestr 5. Ćwiczenie 5 Aplikacja wielo-okienkowa

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Rozwój aplikacji modułowych Paweł Brudnicki. Dodanie modułu

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Programowanie systemów informatycznych laboratorium. Ćw. 3: Akwizycja danych. RS 232 cd.

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

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

Aplikacje WWW - laboratorium

Instrukcja laboratoryjna cz.3

Wprowadzenie do projektu QualitySpy

Visual Studio instalacja

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Db4o obiektowa baza danych wersja.net

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

16) Wprowadzenie do raportowania Rave

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Programowanie aplikacji okienkowych Windows

Rozdział 4 KLASY, OBIEKTY, METODY

Techniki CAD w pracy inŝyniera Aplikacja programu Autodesk Inventor 2010.

Co to jest klasa? Z programistycznego punktu widzenia klasa stanowi typ danych, który odwzorowuje wspólne cechy jakiegoś obiektu.

Aplikacje w środowisku Java

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Szkoła Techniczno Ekonomiczna w Świdnicy. Języki i paradygmaty programowania - 8

Programowanie Obiektowe GUI

Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow):

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Narzędzia 4. dr inż. Tadeusz Jeleniewski

Wykłady 1, 2. Wstęp do programowania w środowisku Visual C++ Autor: Zofia Kruczkiewicz

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

Programowanie obiektowe

Aplikacje internetowe i rozproszone - laboratorium

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Metodyki zwinne wytwarzania oprogramowania

Tworzenie i wykorzystanie usług sieciowych

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch

Kurs programowania 2 - listy

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Aplikacje WWW - laboratorium

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Programowanie w Javie

Tworzenie własnych komponentów

Ćwiczenie 6 Proste aplikacje - podstawowe komponenty.

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.

Programowanie telefonów z Windows Phone 7, cz. 2

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Microsoft Visual C++.NET Edycja polska: Wydawnictwo RM

Qt sygnały i designer

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne


Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Aplikacje WWW - laboratorium

Programowanie obiektowe

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Rys. 1. Struktura środowiska.net 3.5. S. Fraser, Pro Visual C++/CLI and the.net 3.5 Platform, Apress, 2009.

Ćwiczenia 9 - Swing - część 1

Praca z aplikacją designer

dr inż. Jarosław Forenc

referencje Wykład 2. Programowanie (język C++) Referencje (1) int Num = 50; zdefiniowano zmienną Num (typu int) nadając jej wartość początkową 50.

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

3. Budowa prostych raportów opartych o bazę danych

Aby nadać jej pożądaną postać należy w pliku Window1.xaml stworzyć definicję swojego stylu modyfikując ręcznie postać zapisu XAML:

Polimorfizm, metody wirtualne i klasy abstrakcyjne

PWŚG Ćwiczenia 13. Ukończoną pracę należy przesłać na adres lub

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Dokumentacja do API Javy.

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

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

ZAPOZNANIE SIĘ Z TWORZENIEM

Uruchomienie aplikacji Plan lekcji w przeglądarce Internet Explorer

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

> C++ dziedziczenie. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Temat: Tekstury uŝytkownika

Transkrypt:

Henryk Budzisz ZPORR Koszalin 2009

Wykaz ćwiczeo Ćw.1. Przycisk zamykajacy Ćw.2. Strzałka blokowa Uwaga: Ćwiczenia wymagają zainstalowania środowiska programistycznego VisualStudio.

Ćwiczenie 1 Zadania: zdefiniować komponent.net przycisk zamykający, dodać komponent do palety Toolbox, przetestować jego użycie w przykładowej aplikacji.

Ćwiczenie 1 przygotowanie komponentu 1. Utworzyć nowy projekt typu Class Library o nazwie Przycisk (File/New Project/Visual C++). 2. Z pliku Przycisk.h usunąć domyślnie utworzoną klasę Class1. 3. Do projektu Przycisk dodać klasę PrzyciskZamykający (Add/Class/Visual C++/Component Class). 4. Dodać do projektu Przycisk referencje do bibliotek System.Windows.Forms.dll oraz System.Drawing.dll (References/Add New Reference/.NET/...). 5. W pliku Przycisk.h dodać deklaracje: using namespace System::Windows::Forms; using namespace System::Drawing; 6. Zastąpić klasę bazową Component klasą UserControl. 7. Utworzyć plik biblioteczny Przycisk.dll (Build).

Ćwiczenie 1 - c.d: aplikacja testująca 1. Dodać nowy projekt typu Windows Form Application o nazwie TestKontrolek (Add/New Project/Visual C++). 2. Dodać kontrolkę PrzyciskZamykający do palety Toolbox (Tools/Choose Toolbox Items/Browse i odszukać Przycisk.dll). 3. W trybie Design przeciągnąć komponent PrzyciskZamykający na formatkę. Sprawdzić jego właściwości (Properties Window) i skasować go.

Ćwiczenie 1 c.d: rozbudowa komponentu PrzyciskZamykający. 1. W konstruktorze klasy PrzyciskZamykający dodać: Size = System::Drawing::Size(40,40); BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D; 2. Odbudować komponent i przetestować na formatce i w przeglądarce właściwości (Properties Window). 3. Skasować z formatki.

Ćwiczenie 1 c.d: rozbudowa komponentu PrzyciskZamykający; funkcja OnPaint. dodać funkcję OnPaint: virtual void OnPaint(PaintEventArgs^ e) override { int l = ClientRectangle.Left+4; int r = ClientRectangle.Right-4; int t = ClientRectangle.Top+4; int b = ClientRectangle.Bottom-4; Pen^ pen = gcnew Pen(ForeColor, 2); e->graphics->drawline(pen,l,t,r,b); e->graphics->drawline(pen,l,b,r,t); i przetestować.

Ćwiczenie 1 c.d: zamykanie okna W trybie Design, wygenerować funkcję obsługującą zdarzenie Click komponentu PrzyciskZamykający (Properties Window zakładka Events). W funkcji dodać: Close(); Po odbudowaniu komponentu - przetestować.

Ćwiczenie 2 Zadania: zdefiniować strzałkę blokową ( ) na bazie klasy System.Windows.Forms.Control, zdefiniować właściwość Direction określającą kierunek strzałki i właściwy sposób odrysowania, dodać ikonę do komponentu, przetestować komponent w przykładowej aplikacji.

Ćwiczenie 2 przygotowanie komponentu 1. Utworzyć nowy projekt typu Class Library o nazwie Arrow (Add/New Project/Visual C++). 2. Dodać do projektu Arrow referencje do bibliotek System.Windows.Forms.dll oraz System.Drawing.dll (References/Add New Reference/.NET/...). 3. Zmodyfikować zawartość pliku Arrow.h do postaci: using namespace System; using namespace System::Windows::Forms; using namespace System::Drawing; namespace Arrow { public ref class BlockArrow : public Control { ; 4. Utworzyć plik biblioteczny Arrow.dll (Build).

Ćwiczenie 2 c.d: rozbudowa komponentu BlockArrow. protected: virtual void OnPaint(PaintEventArgs^ e) override { int l = ClientRectangle.Left; int r = ClientRectangle.Right-1; int t = ClientRectangle.Top; int b = ClientRectangle.Bottom-1; // wierzchołki trójkąta Point p1 = Point(l,t); Point p2 = Point(l,b); Point p3 = Point(r,t+ClientRectangle.Height/2); array<point>^ arrowpoints = {p1, p2, p3; Pen^ pen = gcnew Pen(Color::Black, 1); SolidBrush^ brush = gcnew SolidBrush(ForeColor); e->graphics->fillpolygon(brush, arrowpoints); e->graphics->drawpolygon(pen, arrowpoints); p1 p2 p3

Ćwiczenie 2 - c.d: aplikacja testująca 1. Do testowania może posłużyć aplikacja zawarta w projekcie TestKontrolek. 2. Dodać kontrolkę BlockArrow do palety Toolbox (Tools/Choose Toolbox Items/Browse i odszukać Arrow.dll). 3. W trybie Design przeciągnąć komponent BlockArrow na formatkę. Powiększyć komponent i zmienić kolor (odziedziczona właściwość ForeColor).

Ćwiczenie 2 poprawianie wyglądu komponentu. W klasy BlockArrow dodać konstruktor: public: BlockArrow() { // konstruktor bezparametrowy Size = System::Drawing::Size(70,70); ForeColor = Color::Aquamarine; odbudować plik Arrow.dll i przetestować komponent na formatce.

Ćwiczenie 2 definiowanie kierunków strzałki blokowej 1. W klasie BlockArrow dodać pole prywatne direction typu System.Windows.Forms.ArrowDirection: private: ArrowDirection direction; 2. W konstruktorze dodać inicjację tego pola: direction = ArrowDirection::Right;

Ćwiczenie 2 definiowanie właściwości Direction typu ArrowDirection W klasie BlockArrow zdefiniować właściwość: property ArrowDirection Direction { virtual ArrowDirection get() { return direction; virtual void set(arrowdirection value) { direction = value; Invalidate(); odbudować plik Arrow.dll i sprawdzić właściwość Direction w przeglądarce właściwości.

Ćwiczenie 2 modyfikacja sposobu wyświetlania właściwości Direction. W przeglądarce właściwości podzielone są na grupy, np: Appearance, Behawior, Data. Właściwość Direction należy dodać do grupy Layout. Realizacja: uzupełnić deklaracje użycia przestrzeni nazw: using namespace System::ComponentModel; przed definicją właściwości dodać atrybut: [ Category("Layout") ] Odbudować bibliotekę Arrow.dll i przetestować modyfikację.

Ćwiczenie 2 poprawienie rysowania strzałki (klasa BlockArrow, funkcja OnPaint) Point p1, p2, p3; switch(direction) { case ArrowDirection::Left: { // wierzchołki trójkąta p1=point(r,t); p2=point(r,b); p3=point(l,t+clientrectangle.height/2); break; case ArrowDirection::Right: { p1=point(l,t); p2=point(l,b); p3=point(r,t+clientrectangle.height/2); break; case ArrowDirection::Up: { p1=point(l,b); p2=point(r,b); p3=point(l+clientrectangle.width/2,t); break; case ArrowDirection::Down: { p1=point(l,t); p2=point(r,t); p3=point(l+clientrectangle.width/2,b); break;

Ćwiczenie 2 ikona komponentu 1. Do projektu Arrow dodać ikonę komponentu (Add/Resource/Icon/New) i przy użyciu narzędzi do rysowania zaprojektować ikonę 16x16 pikseli. 2. Zmienić nazwę pliku na: Arrow.BlockArrow.ico 3. Zapewnić dodawanie pliku do biblioteki.dll, poprzez modyfikacje właściwości projektu Arrow (Properties/Linker/Input w polu Embed Managed Resource File wpisać: Arrow.BlockArrow.ico) 4. Odbudować plik Arrow.dll i ponownie dodać komponent do palety narzędzi Toolbox (Tools/Choose Toolbox Items/Browse i odszukać Arrow.dll).