W tym odcinku zajmiemy się przeglądem palety komponentów. O komponentach była mowa już wcześniej, ale dopiero teraz nadszedł czas na omówienie większej ich liczby. Mam nadzieję, że zapoznanie się z najczęściej wykorzystywanymi komponentami ułatwi udoskonalanie powstającego programu lub przyda się przy tworzeniu innych aplikacji. Biblioteki komponentów, czyli VCL (Delphi Visual Component Library), to "klocki", z których twórca buduje elementy interfejsu oraz te elementy, które nie są co prawda widoczne w interfejsie użytkownika, lecz stanowią integralną część aplikacji. KROK 14 Cel: Zapoznajemy się z paletą komponentów. PRZEGLĄD KOMPONENTÓW Zakładka Standard MainMenu Komponent służy do umieszczenia menu w oknie Twojej aplikacji. Dzięki temu komponentowi możesz umieścić w PopupMenu swojej aplikacji menu wyświetlane prawym klawiszem myszy. Label Etykieta pozwoli Ci wyświetlić teksty statyczne - takie, których użytkownik nie może zmienić. Edit wyświetla obszar edycji, w którym Edit użytkownik może wstawić bądź zmienić jedną linię tekstu. Memo Kolejny komponent do edycji tekstu. Wyświetla okno, w którym można wpisać wiele linii tekstu. Przycisk, (klawisz). Po naciśnięciu generowane są Button zdarzenia, które pozwalają nam sterować aplikacją.
CheckBox RadioButton ListBox ComboBox ScrollBar GroupBox RadioGroup Panel Pole wyboru - dwie opcje: wybrany, nie wybrany. Komponent, który w aplikacjach występuje raczej w grupach, pozwala na wybór jednej z szeregu opcji. Wyświetla listę elementów, z których użytkownik może wybrać (zaznaczyć) jeden lub kilka elementów. Komponent podobny do poprzedniego, z tą różnicą, że użytkownik może wybierać elementy z listy albo wpisać element, którego nie ma na liście rozwijanej. Pasek przewijania. Komponent służy do grupowania innych komponentów w obrębie formularza. Pozwala użytkownikowi wybrać jedną opcję z grupy opcji. Służy do grupowania innych obiektów, np. jest użyteczny przy tworzeniu paska narzędzi. Zakładka Additional BitBtn SpeedButton MaskEdit StringGrid DrawGrid Image Przycisk, który wyświetli rysunek obok opisu. Tego przycisku możesz użyć do stworzenia paska narzędzi. Komponent ten ma jeszcze dwie ciekawe właściwości: może także wyświetlać tekst i może być płaski (flat) czyli będzie wyglądał jak przyciski w Windows 98. Pozwala użytkownikowi wprowadzić dane (np. numery telefonów) tylko w określonym formacie np. (090)-23-22450. Komponent, który wyświetla tabelę arkusza kalkulacyjnego. Poprzedni komponent służył do wyświetlania danych w postaci znaków, ten zaś potrafi pokazać dane w postaci grafiki. Ten komponent pomoże Ci zbudować przeglądarkę plików graficznych. Możesz tutaj wyświetlić mapę bitową, ikonę lub metaplik, a także pliki JPG, GIF.
Shape Bevel Ten komponent narysuje figury geometryczne, np. trójkąt. Stwarza złudzenie trójwymiarowości. Ten komponent ma dwa paski przewijania i pozwoli Ci ScrollBox pokazać więcej niż możesz zmieścić na jednym ekranie. Pozwala nie tylko wyświetlić elementy przewijalnej CheckListBox listy, ale także umieścić przy nich pola wyboru. Jeśli chcesz podzielić okno aplikacji na dwie części, a na dodatek chcesz, żeby w trakcie działania programu Splitter można było zmieniać rozmiar okienek, ten komponent bardzo Ci się przyda. Komponent podobny do Label z tą różnicą, że jest StaticText przeważnie stosowany przy korzystaniu z grupy ActiveX. Zakładka - Win32 TabControl Umożliwia dzielenie opcji programu na grupy. Użytkownik nie będzie się czuł zagubiony w gąszczu "przełączników". PageControl jest używany do tworzenia zbiorów wielu PageControl kart, pomiędzy którymi można się poruszać za pomocą zakładek. ImageList ImageList tworzy stos elementów graficznych, które można wykorzystać np. do zrobienia animacji. RichEdit Komponent, przy użyciu którego w prosty sposób możesz stworzyć edytor tekstu. TrackBar Służy do ustawiania, za pomocą suwaka, w miarę potrzeb, różnych wartości. Pasek postępu, używany do wizualizacji przebiegu ProgressBar dłuższych operacji lub procesów przebiegających w tle. UpDown Komponent pozwala zmniejszyć lub zwiększyć jakąś wartość. HotKey Przy użyciu tego komponentu możesz tworzyć skróty klawiszowe (klawisze szybkiego dostępu).
Animate DateTimePicker TreeView ListView Header StatusBar ToolBar CoolBar Komponent służy do wyświetlania plików w formacie AVI. Możesz odgrywać filmy nieskompresowane i kompresowane. Pozwala na wybranie czasu lub daty. Bardzo użyteczny może być kalendarz, dostępny, gdy element jest ustawiony jako data. Wyświetla elementy w postaci drzewa. Etykiety, ikony możesz szybko wyświetlić za pomocą ListView. Służy on do tworzenia nagłówka, podzielonego na sekcje. Ten komponent pomoże tworzyć pasek stanu w formularzu. Jeśli chcesz tworzyć aplikacje wyposażone w pasek narzędzi, to ten komponent bardzo Ci to ułatwi. Kolejny komponent, który pozwoli Ci np. na stworzenie menu. Zakładka - System Timer Timer to komponent pozwalający wygenerować w twoim programie np. odmierzanie czasu. PaintBox Wydziela w formularzu pole do wykonywania operacji graficznych. MediaPlayer Jeśli chcesz wstawić do aplikacji pliki dźwiękowe lub film, ten element pomoże Ci to zrealizować. Za pomocą tego komponentu możesz tworzyć w OLEContainer swojej aplikacji obszary dla klienta OLE. Komponent niewidoczny podczas działania aplikacji. Jednak gdy chcesz wykorzystać mechanizm DDE DDEClientConv (Dynamic Data Exchange), ten element zapewni Ci połączenie z serwerem DDE. Gdy już zapewniłeś połączenie pomiędzy serwerem i klientem DDE, DDEClientItem będzie mógł określić DDEClientItem dane wysyłane przez klienta podczas dialogu z serwerem w sesji DDE. Komponent niewidoczny, umieszczany w formie DDEServerConv serwera DDE. Jego zadaniem jest nawiązanie
połączenia z klientem DDE. Ten komponent pełni podobną funkcję jak opisany DDEServerItem wcześniej DDEClientItem., z tą różnicą, że określa dane wysyłane do klienta podczas sesji DDE. Zakładka - Data Access (komponenty umożliwiające dostęp do baz danych) Komponenty z tej grupy nie są dostępne we wszystkich wersjach programu. Niewidoczny element, który pośredniczy w przepływie DataSource danych z zestawu rekordów do obiektów edycji danych. Komponent, który pośredniczy pomiędzy tabelą Table znajdującą się w bazie danych a źródłem danych. Jest to również komponent niewidoczny. Jeśli zechcesz rozbudować system swojej bazy danych o Query komunikację z bazą za pomocą języka SQL, ten komponent Ci w tym pomoże. Komponent ten stwarza możliwość wywoływania procedur StoredProc zapamiętanych baz danych. Ten komponent jest pierwszy w "łańcuszku" połączeń do Database bazy danych. Sesion BatchMove UpdateSQL Session steruje połączeniem z bazą danych. Jeśli będziesz musiał przenosić dane pomiędzy różnymi serwerami baz danych, przy użyciu tego komponentu będzie to dużo łatwiejsze. Czasami będziesz zmuszony w trakcie działania aplikacji do przeprowadzania modyfikacji odległej bazy danych. Tutaj jest pomoc dla Ciebie. Zakładka - Data Controls
DBGrid DBNavigator DBText DBEdit DBMemo DBImage DBListBox DBComboBox DBCheckBox DBRadioGroup DBLookupListBox DBLookupComboBox DBRichEdit Dane z bazy możesz wyświetlać na różne sposoby. Jeśli użyjesz tego komponentu, dane z Twojej bazy zostaną wyświetlone w postaci tabeli. Tutaj podobnie jak w odtwarzaczu CD możesz poruszać się pomiędzy rekordami. Możesz także zmienić stan rekordu i przejść np. do jego edycji. Podobny komponent już poznałeś. Na zakładce Standard znajduje się komponent Label. Tutaj masz do czynienia z jego odpowiednikiem używanym w pracy z bazami danych. Kolejny odpowiednik już wcześniej poznanego komponentu Edit z zakładki Standard. Odpowiednik komponentu Memo. Odpowiednik komponentu Image. Pozwala na wyświetlanie danych w postaci grafiki. Odpowiednik poznanego już wcześniej komponentu ListBox. Podobnie, odpowiednik komponentu ComboBox. Związany z danymi odpowiednik komponentu CheckBox. Odpowiednik komponentu RadioGroup. Podobny do ListBox, wymaga danych z innej bazy, aby je wyświetlić w postaci ListBox w bazie edytowanej. Podobny do ComboBox; element, który reprezentuje zestaw wartości pól z jednej bazy przez odpowiadające im dane z innej bazy. Pozwala na edytowanie wieloliniowych pól typu "rich text". Jego odpowiednikiem jest RichEdit z działu WIN32. Zakładka - Dialogs (komponenty okien dialogowych) Tu znajdują się komponenty, które zawierają prawie wszystkie okna dialogowe Windows.
OpenDialog Ten niewidoczny komponent dołącza do Twojej aplikacji okno dialogowe służące do otwierania plików. SaveDialog Kolejny komponent dołącza standardową wersję okienka służącego do dialogu z użytkownikiem aplikacji przy zapisywaniu danych na nośnik. Wyspecjalizowana wersja okienka, które towarzyszy użytkownikowi szczególnie przy otwieraniu plików OpenPictureDialog graficznych, stwarza możliwość podglądu pliku graficznego. Specjalna wersja okienka Save, przeznaczona do SavePictureDialog zapisywania plików graficznych (z podglądem zapisywanego pliku). Ten komponent dołączy standardowe okienko FontDialog systemu Windows, służące do wybierania czcionki używanej w Twojej aplikacji. Często także zdarzy się konieczność zmiany koloru ColorDialog w czasie działania aplikacji. Przy użyciu tego komponentu możesz przedstawić użytkownikowi paletę kolorów do wyboru. Przy użyciu tego komponentu wstawisz do swojej PrintDialog aplikacji okno, które pozwoli użytkownikowi określić jego wymagania dotyczące wydruku. Często zdarza się konieczność ustawienia PrinterSetupDialog parametrów drukarki. Ten komponent dołączy do aplikacji standardowe okno ustawień. FindDialog ReplaceDialog Pozwala znaleźć określony tekst w dokumencie. Tekst znaleziony przy użyciu tego komponentu może zostać zastąpiony innym. Zakładka - Win 3.1 (komponenty Windows 3.1) Tu znajdują się komponenty w stylu starego Windows 3.1 i 3.11 Ikon a Nazwa Opis
DBLookupList DBLookupCombo TabSet Outline TabbedNoteBook NoteBook Header FileListBox DirectoryListBox DriveComboBox Odpowiednik standardowego komponentu ListBox, związany z danymi. Odpowiednik komponentu ComboBox również związany z danymi. Komponent, który pozwoli Ci stworzyć efektowne zakładki. Obiekt ten pozwala na hierarchiczne przedstawienie struktury w dobrze znanej Ci formie drzewa. Najczęściej stosowany w oknach dialogowych opcji programu. Komponent składa się z wielu zakładek. Ten komponent jest zwykle związany z obiektem TabSet. NoteBook jest w praktyce zbiorem wielu kart. Do tworzenia nagłówka złożonego z wielu sekcji. Komponent służący do wyświetlania listy plików aktywnego katalogu. Ten komponent wyświetla listę katalogów z aktywnego napędu. Pozwala w czasie działania aplikacji wybrać jeden z dostępnych dysków. Zakładka - Samples (przykładowe) Używając tego komponentu, wskaźnik postępu możesz Gauge przedstawić w postaci paska, liczby lub wykresu kołowego. ColorGrid Obiekt, który bezpośrednio służy do wyboru koloru. Używając tego elementu możesz zwiększać lub SpinButton zmniejszać wartość pola edycji. Ten komponent jest właściwie połączeniem dwóch: SpinEdit SpinButton i Edit umożliwia wpisywanie albo zwiększanie/ zmniejszanie wartości Obiekt wyświetlający katalogi aktywnego napędu w DirectoryOutline postaci drzewa. Calendar Obiekt wyświetlający arkusz kalendarza.
Lista komponentów dostępna w Delphi jest bardzo duża. Każda nowa wersja programu Delphi przynosi ich coraz więcej. Są jednak i takie wersje, gdzie ich liczba jest ograniczona. Takim programem jest np. Borland Delphi Personal 7.0 (freewerowa wersja, przygotowana wyłącznie do celów edukacyjnych). Jest również wiele bibliotek komponentów tworzonych przez programistów amatorów. Są one dostępne w sieci Internet. Każdy komponent ma własny zbiór właściwości. W następnym odcinku zostaną przedstawione niektóre właściwości komponentów dostępne w oknie Inspektora obiektów.