PSZ wykład 2 > Przegląd komponentów biblioteki VCL 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 interfejsu
Elementy systemowe Podstawowe zadanie – wykorzystanie niektórych mechanizmów systemu operacyjnego Windows (OLE, DDE, Multimedia) Pakiety: System Dialogs
Elementy systemowe
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
Dostęp do danych
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
Internet
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 osadzona w formularzu 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
Struktury kodowe dla okien sterujących
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 ++ ) 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)