Wstęp
Elementem, który pozwala na maksymalne wykorzystanie zalet środowiska związanego z programowanie m w Delphi są formularze. Ich prawidłowe zaprojektowanie
i sprawne manipulowanie właściwościami decyduje o odpowiednim wyglądzie
i prawidłowym działaniu projektu.
Projektant formularzy
Jest to narzędzie służące do programowania wizualnego. Umożliwia na umieszczanie komponentów na formularzu, wybieranie ich, przesuwanie i wyrównywanie a także modyfikacja właściwości. Projektant dopuszcza również zmiany pozycji i rozmiarów samego formularza, dodanie menu i okienek dialogowych, które umożliwiają stworzenie interfejsu użytkownika programu w Windows.
Po uruchomieni Delphi, lub przy tworzeniu nowego projektu automatycznie uruchamia się projektant formularza zawierający pusty formularz. Przy projektowaniu można korzystać z menu kontekstowego skojarzonego z projektantem formularzy.
Element |
Opis |
Align to Grid |
Przyciąga wybrane elementy do siatki Projektanta formularzy |
Bring to Front |
Przenosi wybrane komponenty na wierzch wszystkich innych komponentów |
Send to Back |
Chowa wybrane komponenty pod wszystkimi innymi |
Revert to Inherited |
W momencie pracy z formularzami odziedziczonymi powoduje powrót elementu kontrolnego do swego pierwotnego stanu. |
Align |
Wyświetla okienko dialogowe Alignment umożliwiające wyrównywanie komponentów na formularzu. |
Size |
Wyświetla okienko dialogowe Size służące do zmiany rozmiarów komponentów na formularzu. |
Scale |
Wyświetla okienko dialogowe Scale służące do skalowania komponentów na formularzu. |
Tab Order |
Wyświetla okienko dialogowe TabOrder służące do ustawienia kolejności przechodzenia klawiszem Tab po poszczególnych komponentach. |
Creation Order |
Wyświetla okienko dialogowe CreationOrder służące do ustawienia kolejności tworzenia komponentów niewidocznych. |
View as Text |
Pokazuje opis formularza w formie tekstu w Edytorze kodu. Aby wrócić do formularza Alt+F12. |
Umieszczanie komponentów na siatce formularza.
Aby umieścić komponent na siatce formularza należy wybrać komponent z Palety Komponentów, a następnie kliknąć na formularzu w celu ustawienia na nim komponentu. Komponent zostanie ustawiony w taki sposób, że jego lewy róg pozostanie ustawiony
w miejscu kliknięcia i przyciągnięty do najbliższego punktu siatki, która jest wyświetlana
w sposób jawny lub w postaci kropek w obszarze Projektanta formularzy. Wygląd
i właściwości siatki można zmienić na karcie Preferences w oknie dialogowym Environment Options, opcja Tools z menu głównego. Zauważmy, że w momencie ustawiania komponentu na formularzu, po wyborze z Palety Komponentów ikona komponentu pozostaje wciśnięta. Natychmiast po ustawieniu komponentu na formularzu ikona wraca do pierwotnego stanu - wyciśnięta. W przypadku gdy chcemy wstawić kilka komponentów tego samego rodzaju bez konieczności powtarzania wybierania, pierwszego wyboru dokonujemy z wciśniętym klawiszem Shift. Ikona wybranego komponentu pozostanie wciśnięta aż do zwolnienia jej przez wciśnięcie ikony ze strzałką.
Operacje wykonywane na komponentach
Po umieszczeniu komponentów na formularzu istnieje konieczność zaznaczenia go
w celu wykonania następujących operacji:
Przesunięcie komponentu w inne miejsce
Wyrównanie komponentu
Zmiana właściwości komponentu
Zmiana rozmiarów komponentu
Wycięcie lub skopiowanie komponentu do schowka
Ustalenie kolejności położenia komponentów (schowanie pod spód, wyciąganie na wierzch)
Usunięcie komponentu
Zaznaczanie komponentów może odbywać się w różny sposób w zależności od wykonywanych później na nich operacji. Zaznaczenie pojedynczego komponentu dokonuje się poprzez kliknięcie. W momencie kliknięcia wokół komponentu pojawia się osiem uchwytów, które służą do zmiany rozmiaru. W momencie zaznaczenia pojedynczego komponentu Inspektor Obiektów zmienia się w taki sposób, że pokazuje właściwości
i zdarzenia dla danego komponentu. Dwukrotne kliknięcie powoduje otwarcie kodu domyślnej procedury obsługi zdarzenia związanego z wybranym komponentem.
Możliwe jest również zaznaczenie większej liczby komponentów. Można to zrobić na trzy sposoby:
Naciśnięcie klawisza Shift i kolejno wybranych komponentów. Ponowne użycie Shift i kliknięcie na danym komponencie spowoduje jego usunięcie. Anulować zaznaczenie obszaru można przez kliknięcie w obszarze formularza lub klawiszem Esc.
Przeciągnięcie myszą i zaznaczenie obszaru na którym znajdują się interesujące nas komponenty
Dla zaznaczenia wszystkich komponentów wybór opcji Edit| Select All z menu głównego.
Przeciągnięcie myszą i zaznaczenie obszaru na którym znajdują się interesujące nas komponenty z wciśniętym klawiszem Ctrl umożliwia zaznaczenie grupy komponentów zgrupowanych w granicach innego komponentu.
Przesuwanie komponentów
Przesunięcia jednego komponentu można dokonać przez umieszczenie nad nim kursora myszy, wciśnięcie przycisku, a następnie przeciągniecie komponentu go w żądane miejsce. Po umieszczeniu komponentu w odpowiednim miejscu zwalniamy przycisk myszy. Podobnie przesuwamy grupę komponentów. Nie można przesunąć jednocześnie komponentów tylko w przypadku gdy znajdują się one na różnych komponentach grupujących. Po zaznaczeniu wymaganej do przesunięcia grupy przeciągamy ja myszą w odpowiednie miejsce. W momencie przenoszenia komponentów z miejsca na miejsce zmieniane są jego właściwości Left i Top. Właściwości te mogą być również zmieniane ręcznie w Inspektorze Obiektów co umożliwia kontrolowanie operacji przesuwania. Jeżeli chcemy przesunąć wybrany element dokładnie o jeden piksel używamy techniki Ctrl+ strzałki. Przy przesuwaniu komponentów jedynym ograniczeniem jest obszar komponentu właściciela (komponentu, na którym znajduje się przesuwany przez nas komponent. Przesunięcie poza obszar właściciela spowoduje obcięcie komponentu do krawędzi właściciela. Komponenty przed przesuwaniem można zabezpieczyć wykorzystując opcję Edit|Lock Conntrols. Użycie jej powoduje również zabezpieczenie komponentów przed zmianą rozmiarów. Jedynym utrudnieniem jest to, że nie można selektywnie blokować komponentów, jeżeli blokujemy to albo wszystkie albo żadnego.
Wycinanie, kopiowanie, wklejanie i ustalanie porządku komponentów
Do kopiowania, wklejania i wycinania komponentów używamy odpowiednich opcji:
Edit|Cut (wycinanie)
Edit|Paste (wklejanie)
Edit|Copy (kopiowanie)
Do ustalania kolejności komponentów wykorzystujemynastępujące opcje:
Send to Back (komponent zostanie schowany pod inny)
Bring to Front (komponent zostanie ustawiony przed innymi)
Zmiana rozmiarów komponentu
Zmiany rozmiarów komponentów można dokonywać w następujący sposób:
Przez przeciąganie - po zaznaczeniu komponentu i ukazaniu się uchwytów zmiany rozmiarów, w zależności od wykorzystanego uchwytu można zmienić rozmiar komponentu w pionie, poziomie lub oba naraz. W ten sposób można zmienić rozmiary jedynie pojedynczych komponentów wizualnych. Rozmiary komponentów niewidocznych i grup komponentów nie mogą być zmieniane w ten sposób. Należy zaznaczyć, że rozmiaru komponentów niewidocznych nie można też zmienić w żaden inny sposób. Są one na formularzu reprezentowane przez małe ikony, których wymiary nie ulegają zmianie.
Przy pomocy okna dialogowego zmiany rozmiarów - okno wywoływane przez użycie opcji Edit|Size i zwykle jest wykorzystywane do zmiany rozmiarów grupy komponentów. Po wywołaniu okna mamy dwie możliwości: zmianę długości i zmianę szerokości komponentu, a dla każdej z nich cztery opcje:
No change (bez zmian)
Shrink to Smallest ( rozmiar zostanie dopasowany do rozmiaru najmniejszego komponentu w grupie)
Grow to Largest ( rozmiar zostanie dopasowany do rozmiaru największego komponentu w grupie)
Odpowiednio Widht / Height ( umożliwia podanie dokładnej szerokości lub długości)
Przy pomocy okna dialogowego skalowania - okno wywoływane przez użycie opcji Edit |Scale pozwala na zmianę rozmiaru komponentów w procentach.
Wyrównywanie i dopasowywanie komponentów
Wyrównywania i dopasowywania komponentów można dokonać przez:
Użycie palety wyrównania lub okna dialogowego Alignment - Wywołanie palety wyrównania możliwe przez użycie opcji View|Alignment Palette dostarcza nam następujących opcji:
Wyrównaj do lewej
Wyśrodkuj w poziomie
Wyśrodkuj w poziomie względem okna
Rozmieść równomiernie w poziomie
Wyrównaj do prawej
Wyrównaj do górnych krawędzi
Wyśrodkuj w pionie
Wyśrodkuj w pionie względem okna
Rozmieść równomiernie w pionie
Wyrównaj do dolnych krawędzi
Modyfikację właściwości Align- umożliwia zmianę położenia komponentu względem jego właściciela. Właściwość ta może przyjmować następujące wartości:
Wartość |
Opis |
AlBottom |
Komponent zostaje dopasowany do dolnej części okna rodzicielskiego. Przykładem komponentu dopasowanego do dolnej krawędzi głównego formularza może być linia statusu (status bar). |
AlClient |
Komponent wypełnia całą możliwą powierzchnię okna rodzicielskiego. Jeżeli pewną część tego okna zajmują inne komponenty, komponent wypełnia całą pozostałą powierzchnię. |
AlLeft |
Komponent zostaje dopasowany do lewej krawędzi okna rodzicielskiego. Przykładem takiego komponentu może być pionowy pasek narzędzi. |
AlNone |
Komponent jest umieszczany tak jak zostało to zaprojektowane. Jest to domyślna wartość dla większości komponentów |
AlRight |
Komponent zostaje dopasowany do prawej krawędzi okna rodzicielskiego. |
AlTop |
Komponent zostaje dopasowany do górnej krawędzi okna rodzicielskiego. |
Cel ćwiczenia
Podstawowym celem ćwiczenia jest zapoznanie się z możliwościami manipulowania komponentami w obszarze formularza i wykorzystanie ich do jego projektowania
i modyfikacji.
Przebieg ćwiczenia
Zapoznanie się z możliwościami manipulowania komponentem.
Wykonanie następujących zadań:
Zad.1
Na formularzu umieść w losowych miejscach dowolną ilość komponentów typu Button. Zostaną one automatycznie nazwane Button1, Button2 ... Zmień nazwy komponentów na własne. Zaznacz jeden z nich za pomocą myszy, korzystając z kombinacji klawisza Shift i kliknięcia myszą dodaj do zaznaczonego obszaru kolejne komponenty tak aby wszystkie były zaznaczone. Następnie kolejno odznacz poszczególne komponenty.
Zad.2
Na formularzu umieść najpierw komponent Panel. Zmień jego rozmiary tak aby zajmował większą część formularza. Zmień nazwę komponentu Panel na własną. Na panelu wstaw kilka komponentów typu Button, a następnie za pomocą myszy spróbuj je zaznaczyć. Jeżeli udało ci się jedynie przesunąć Panel do zaznaczenia tej grupy komponentów użyj kombinacji Ctrl + myszka.
Zad.3
Na formularzu umieść w losowych miejscach dowolną ilość komponentów typu Button. Zostaną one automatycznie nazwane Button1, Button2 ... Zmień nazwy komponentów na własne. Wybierz jeden z nich za pomocą myszy, zmień jego rozmiar i skopiuj go kilka razy. Pozostałe Komponenty Button wykasuj.
Zad.4
Na formularzu umieść w losowych miejscach dowolną ilość komponentów typu Button. Zostaną one automatycznie nazwane Button1, Button2 ... Zmień nazwy komponentów na własne. Zmień rozmiary komponentów i kolory czcionki. Zaznacz wszystkie komponenty. Wykorzystując Paletę wyrównania rozmieść wszystkie komponenty równomiernie na formularzu a następnie wyrównaj wszystkie komponenty najpierw do lewej strony, a później wycentruj.
Wykonanie podobnych operacji dla różnych komponentów.
Tworzenie według podanego schematu aplikacji wykorzystujących wiele formularzy.
Utwórz katalog, w którym znajdą się pliki do tego projektu i uruchom Delphi.
Na ekranie pojawi się okno projektu formularza o nazwie Form1. Za pomocą Inspektora Obiektów zmień właściwość Caption na Wiele formularzy. Aby to osiągnąć, zaznacz formularz, wybierz odpowiednią kartę w oknie inspektora obiektów, przewiń listę tak, by wyświetlić opcję Caption i kliknij ją. Tekst Form1 zastąp swoim.
Za pomocą Inspektora Obiektów zmień właściwość Name formularza głównego na Główny.. Aby to osiągnąć, zaznacz formularz, wybierz odpowiednią kartę w oknie inspektora obiektów, przewiń listę tak, by wyświetlić właściwość Name i tekst Form1 zastąp swoim.
Umieść na formularzu przycisk Button1 - w tym celu kliknij ikonę przycisku na karcie Standard palety składników, a następnie kliknij formularz. W razie potrzeby zmień położenie przycisku przeciągając go myszą.
Zmień napis na przycisku, odpowiednio zmieniając jego właściwość Caption na Pokaż drugi.
Dodaj drugi przycisk Button2, ustaw go odpowiednio i zmień jego nazwę na Koniec.
Zapisz wszystko używając Save All wykorzystując nazwy standardowe lub nadając poszczególnym plikom odpowiednie nazwy.
Wybierz z menu głównego opcję File | New Form. Nowo utworzony formularz posiada nazwę Form1 i umieszczony jest dokładnie na formularzu głównym. Należy zmienić jego rozmiar tak, aby był mniejszy od głównego i znajdował się mniej więcej w jego środku. Zapisz wszystko (Save All) wykorzystując nazwy standardowe lub nadając poszczególnym plikom odpowiednie nazwy.
Za pomocą Inspektora Obiektów zmień właściwość Caption drugiego formularza na Drugi formularz. Aby to osiągnąć, zaznacz formularz, wybierz odpowiednią kartę w oknie inspektora obiektów, przewiń listę tak, by wyświetlić opcję Caption i kliknij ją. Tekst Form1 zastąp swoim.
Za pomocą Inspektora Obiektów zmień właściwość Name formularza na Drugi. Aby to osiągnąć, zaznacz formularz, wybierz odpowiednią kartę w oknie inspektora obiektów, przewiń listę tak, by wyświetlić właściwość Name i tekst Form1 zastąp swoim.
Wprowadź etykietę na formularz Drugi. Zmień właściwość Caption etykiety na To jest drugi formularz. Witaj !!! Ustaw etykietę centralnie na formularzu. Pozostałe właściwości etykiety ustaw według własnego uznania.
Kliknij na głównym formularzu. W oknie inspektora Obiektów wybierz kartę Events dla przycisku Button1. Kliknij dwukrotnie obok zdarzenia OnClick. Spowoduje to otwarcie okna edytora kodu.
Między begin i end wpisz instrukcję: Drugi. ShowModal;
Do sekcji uses programu (moduł obsługi pierwszego formularza) dodaj nazwę odpowiedniego modułu dotyczącego drugiego formularza. Jeżeli nic nie było zmieniane przy zapisywaniu będzie to Unit2;
W oknie inspektora Obiektów wybierz kartę Events dla przycisku Button2 (lub kliknij dwukrotnie na przycisk) . Kliknij dwukrotnie obok zdarzenia OnClick. Spowoduje to otwarcie okna edytora kodu.
Między begin i end wpisz instrukcję: Close;
Ponownie zapisz program korzystając z Save All.
Wybierz przycisk Run lub F9 i uruchom napisaną przez siebie aplikację.
Tworzenie własnej aplikacji wykorzystującej wiele formularzy.
Warunki zaliczenia
Warunkiem zaliczenia ćwiczenia jest rozwiązanie zadania podanego przez prowadzącego. Po zakończeniu pracy każdy program powinien zostać zapisany
w odpowiednim katalogu. Pliki zapisane w innym niż podany przez prowadzącego katalogu nie będą sprawdzane.
1
8