300 likes | 461 Views
wykład 2. PSZ Programowanie w Środowiskach Zintegrowanych > Przegląd komponentów biblioteki VCL > Projektowanie interfejsu uzytkownika. Na poprzednim wykładzie. Systemy i środowiska zintegrowane Założenie i motywacja Elementy środowiska zintegrowanego Integracja Środowisko Borland IDE
E N D
wykład 2 PSZ Programowanie w Środowiskach Zintegrowanych > Przegląd komponentów biblioteki VCL > Projektowanie interfejsu uzytkownika
Na poprzednim wykładzie • Systemy i środowiska zintegrowane • Założenie i motywacja • Elementy środowiska zintegrowanego • Integracja • Środowisko Borland IDE • Elementy środowiska • Koncepcja komponentów • Rozszerzenia składni języka c++
Konspekt bieżącego wykładu • Przegląd komponentów biblioteki VCL • Projektowanie interfejsu użytkownika • Okna główne i ramki (TForm, TFrame) • Konstrukcja okna głównego (TPanel, TBevel, TSeparator, TGroupbox) • Podstawowe komponenty interfejsu użytkownika • Elementy wykorzystujące kolekcje (TListView, TTreeView)
Przegląd komponentów biblioteki VCL • Elementy interfejsu • Elementy systemowe • Elementy dostępu do danych • Internet
Elementy interfejsu • Podstawowe zadanie – zapewnienie możliwości obsługi podstawowych i rozszerzonych elementów składowych interfejsu użytkownika • Obejmują wszystkie elementy obowiązujące w standardzie Win32 oraz elementy starego interfejsu Win3.1 • Pakiety: • Standard • Additional • Win32 • Win3.1
Elementy systemowe • Podstawowe zadanie – wykorzystanie niektórych mechanizmów systemu operacyjnego Windows (OLE, DDE, Multimedia) • Pakiety: • System • Dialogs
Dostęp do danych • Podstawowe zadanie – integracja aplikacji z bazami danych • Zapewnienie możliwości edycji danych • Obsługuje większość popularnych standardów • Dostęp w trybie ODBC i trybie bezpośrednim (natywnym) • Biblioteka zawiera komponenty o wysokim poziomie abstrakcji oraz komponenty specjalizowane • Pakiety: • Data Access • ADO • BDE • InterBase • DBExpress • Data controls
Internet • Podstawowe zadanie – integracja aplikacji z siecią komputerową, siecią Internet oraz jej usługami • Pozwala na tworzenie aplikacji Active Server Pages działających w środowisku serwera usługi WWW • Pakiety: • Internet • Fastnet
Projektowanie interfejsu użytkownika • Okna główne i ramki (TForm, TFrame) • Konstrukcja okna głównego (TPanel, TBevel, TSeparator, TGroupbox) • Podstawowe komponenty interfejsu uzytkownika
Okna główne • Podstawowy komponent realizujący funkcje okna głównego – TForm (formularz, formatka) • Komponent realizujący okno dialogowe – TDialog i jego szczególne przypadki reprezentujące typowe okna dialogowe • Komponent realizujący fragment okna głównego lub jego prototyp – TFrame (ramka)
Formularz, okno dialogowe • Formularz i Dialog różnią się zasadniczo funkcjonalnością, przeznaczeniem i sposobem obsługi • Formularz – komponent znacznie bardziej rozbudowany
Ramka Ramka osadzona w formularzu Ramka • Ramka służy do projektowania typowych dla aplikacji, tzn. powtarzających się w różnych formularzach grup elementów interfejsu • Ramkę umieszcza się na formularzu, stanowi ona jego element
Zasady konstrukcji formularza • Podstawowy priorytet – wygoda użycia • Jak otrzymać formularz wygodny w użyciu • podział formularza na bloki • uniezależnienie wyglądu od aktualnego rozmiaru • umożliwienie rekonfiguracji w czasie działania programu
Podział formularza Panel Separator Bevel
Przykładowy projekt • Projektowanie podziału formularza [WDesign.bpr]
Okna sterujące • Okna sterujące realizują interakcję z użytkownikiem • Inne określenie – kontrolki (controls) • Podstawowe okna sterujące • Pole edycyjne, etykieta • Przycisk, przycisk radiowy, przycisk typu check • Lista, lista Combo, lista drzewko • Skoroszyt, zakładka • Menu, pasek narzędzi
Przykładowe okna sterujące Menu Pasek narzędzi Skoroszyt Zakładka skoroszytu Przycisk paska narzędzi Drzewko Grupa Pole edycyjne Lista Etykieta Przycisk
Okno sterujące jako komponent VCL • Tworząc aplikację okna sterujące „pobiera się” z palety komponentów i umieszcza na formularzu (ramce lub oknie dialogowym) • Następnie korzystając z edytora właściwości ustawia się podstawowe właściwości komponentu • Ustawienia zapamiętywane są w skojarzonym z formularzem plikiem tekstowym o nazwie <nazwa pliku formularza>.dfm
Okno sterujące jako komponent VCL Okno sterujące typu Pole edycyjne umieszczone na formularzu Właściwość <Text> Plik Unit1.dfm
Kolekcje • Kolekcja jest elementem okien sterujących przechowujących różnego rodzaju zbiory danych (długie teksty, listy, tabele, drzewa) • Większość usług kolekcji zaimplementowano w klasie TCollection • Klasa umożliwia dodawanie elementów, ich wstawianie, usuwanie, czyszczenie listy, itp. • TCollectionItem* __fastcall Add(void); • TCollectionItem* __fastcall Insert(int Index); • void __fastcall Delete(int Index); • void __fastcall Clear(void);
Komponent TListView i TTreeView • Komponent TListView pozwala na prezentację listy wartości w postaci tabeli, listy z ikonami, zbioru ikon. • Komponent TTreeView pozwala na prezentacje dowolnej drzewiastej struktury danych.
TListView – wypełnianie w czasie run-time TListItem *l; int rok, miesiac; //Czyszczenie kolekcji elementów lvLataMiesiace->Items->Clear(); for ( rok = 2000; rok <= 2005; rok ++ ) for ( miesiac = 1; miesiac <=12; miesiac ++ ) { //Dodanie nowego elementu l = lvLataMiesiace->Items->Add(); //Ustawnienie nagłówka i wartości pierwszej kolumny l->Caption = IntToStr(rok) + "/" + IntToStr(miesiac); }
TTreeView – wypełnianie w czasie run-time TTreeNode *tn; int rok, miesiac; //Czyszczenie kolekcji elementów tvLataMiesiace->Items->Clear(); for ( rok = 2000; rok <= 2005; rok ++ ) { //Dodanie nowego elementu tn = tvLataMiesiace->Items->Add(NULL, IntToStr(rok)); for ( miesiac = 1; miesiac <=12; miesiac ++ ) { //Dodanie nowego elementu tvLataMiesiace->Items->AddChild( tn, IntToStr(miesiac)); } }
Przykładowy projekt • Korzystanie z komponentów TListView i TTreeView [Lists.bpr]
Podsumowanie • Przegląd komponentów biblioteki VCL • Elementy interfejsu • Elementy systemowe • Elementy dostępu do danych • Internet • Projektowanie interfejsu użytkownika • Okna główne i ramki (TForm, TFrame) • Konstrukcja okna głównego (TPanel, TBevel, TSeparator, TGroupbox) • Podstawowe komponenty interfejsu użytkownika • Elementy wykorzystujące kolekcje (TListView, TTreeView)