Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Programowanie Wizualne WYKŁAD 3
Wojciech Pieprzyca
2
Praca z formularzem Na formularzu można umieścić kilka egzemplarzy tego samego obiektu, bez konieczności wielokrotnego wyboru tego komponentu z palety komponentów. Wystarczy w chwili wybierania komponentu trzymać naciśnięty klawisz Shift. Zaznaczanie większej liczby komponentów – wybór określonych komponentów z klawiszem Shift lub otoczenie komponentów za pomocą myszy. Jeżeli zaznaczane komponenty znajdują się w obrębie innego komponentu to należy trzymać klawisz Ctrl.
3
Praca z formularzem Jeżeli komponenty na formularzu na siebie nachodzą to stosowane jest warstwowe ułożenie komponentów, które można zmienić wybierając odpowiednio z menu kontekstowego opcję „Send to back” (przesuń pod spód) lub „Bring to Front” (przesuń na wierzch). Po zaznaczeniu kilku komponentów można ustalić ich rozmiar względem najmniejszego/największego lub też ustalić wszystkim zaznaczonym komponentom jednakowy rozmiar – pozwala na to opcja w menu kontekstowym - Size.
4
Praca z formularzem * Podobnie można ustalić wyrównywanie komponentów do lewej lub prawej strony względem komponentu najbardziej wysuniętego na lewo lub prawo. Można także ustalić równe odstępy między komponentami. Opcja ta jest dostępna w menu kontekstowym Align.
5
Komponenty edycyjne * Główne komponenty edycyjne to:
Edit – jednowierszowe pole edycyjne, MaskEdit – jednowierszowe pole edycyjne z możliwością ustalenia maski wprowadzania (np. kod pocztowy __-___) Memo – wielowierszowe pole edycyjne, RichEdit – wzbogacone wielowierszowe pole edycyjne, z dodatkowymi właściwościami i metodami np. zapis/odczyt z pliku.
6
Właściwości komponentów edycyjnych
AutoSelect – właściwość dwustanowa (true/false), po przełączeniu na true, cały tekst w komponencie edycyjnym zostaje zaznaczony (Edit,MaskEdit) CharCase – wymusza wyświetlanie zawartości pola dużymi (ecUpperCase) lub małymi literami (ecLowerCase) (Edit,MaskEdit) HideScrollBars – wartość true wskazuje, że paski przewijania będą pokazywane tylko jeśli są niezbędne (tzn. tekst nie mieści się w ramach widocznego komponentu), wartość false powoduje, że paski przewijania są widoczne zawsze (RichEdit) Lines – zawartość tekstowa komponentu (Memo,RichEdit) MaxLength – określa maksymalną długość pola w znakach, 0 oznacza brak ograniczeń (Wszystkie) PasswordChar – kod znaku, który będzie używany do zastąpienia każdego wprowadzanego z klawiatury znaku, wykorzystywane zazwyczaj do wprowadzania haseł w formie niejawnej (Edit,MaskEdit)
7
Właściwości komponentów edycyjnych
ReadOnly – wartość true uniemożliwia zmianę wyświetlonego w ramach komponentu tekstu (Wszystkie) ScrollBars – określa, które paski przewijania powinny być widoczne (ssBoth – pasek poziomy i pionowy, ssHorizontal – pasek poziomy, ssVertical – pasek pionowy, ssNone – brak) Text – zawartość tekstowa komponentu (Edit,MaskEdit) WordWrap – włącza/wyłącza zawijanie wierszy w chwili osiągnięcia prawego marginesu (Memo,RichEdit) Modified – wskazuje czy tekst umieszczony w komponencie został zmodyfikowany od czasu ostatniego wczytania tekstu do komponentu (zazwyczaj ustala się na false po zapisie tekstu do pliku) (Wszystkie – dostępne tylko w czasie uruchomienia) SelLength – długość aktualnie zaznaczonego tekstu (Wszystkie – dostępne tylko w czasie uruchomienia)
8
Właściwości komponentów edycyjnych *
SelStart – numer pierwszego znaku zaznaczonego tekstu (Wszystkie – dostępne tylko w czasie uruchomienia) SelText – aktualnie zaznaczony tekst Niektóre metody: CopyToClipboard() – kopiuje zaznaczony tekst do schowka CutToClipboard() – wycina tekst i kopiuje go do schowka PasteFromClipboard() – wstawia tekst skopiowany ze schowka Clear() – usuwa zawartość tekstową komponentu
9
Listy wyboru * Rodzaje list wyboru:
Zwykła lista – lista rozwijana, ma postać pola wyboru z przyciskiem służącym do wyświetlenia wszystkich opcji dostępnych na liście. Użytkownik ograniczony jest do wyboru opcji z listy, nie może proponować własnych opcji. Przykład: ListBox, ComboBox ze stylem csDropDownList Kombinowana lista – połączenie zwykłej listy z polem edycyjnym, działa tak jak zwykła lista, ale użytkownik poza wyborem opcji z listy, ma możliwość wpisania własnego tekstu. Przykład: ComboBox ze stylem csDropDown
10
Właściwości list wyboru
Columns – liczba kolumn wchodząca w skład listy (0 – lista jednokolumnowa) (ListBox) IntegralHeight – w przypadku wartości true powoduje automatyczne dopasowanie wysokości komponentu tak, aby wszystkie opcje były wyświetlone w całości (ListBox) Items – obiekt klasy TStrings przechowujący zawartość listy (ListBox, ComboBox) np. ComboBox->Items->Strings[0] (1 opcja) MaxLength – największa dopuszczalna długość łańcucha możliwa do wprowadzenia przez użytkownika w przypadku listy kombinowanej – 0 oznacza brak limitu (ComboBox) MultiSelect – wartość true oznacza, że na liście może być wybrany więcej niż jeden element (ListBox) Sorted – wartość true wymusza sortowanie elementów listy (ComboBox)
11
Właściwości list wyboru *
Właściwości dostępne w czasie uruchomienia: ItemIndex – numer aktualnie wybranej pozycji listy (ListBox,ComboBox) Items->Count – liczba wszystkich elementów na liście (ListBox,ComboBox) SelCount – liczba elementów wybranych z listy dopuszczającej wielokrotny wybór (ListBox) Selected – tablica zawierająca informacje o tym czy dany element jest wybrany (ListBox) np. ListBox->Selected[0] Przeglądanie listy wielokrotnego wyboru: for (int i=0; i<ListBox1->Items->Count; i++) { if (ListBox1->Selected[i]) ShowMessage ("Wybrano opcje "+ListBox1->Items->Strings[i]); }
12
Metody list wyboru * Items->Add(”opcja”) – dodanie nowego elementu do listy Items->Clear() – usunięcie wszystkich elementów z listy Items->Delete(indeks) – usunięcie elementu o numerze i z listy Items->IndexOf(”opcja”) – sprawdzenie numeru (indeksu) pod którym znajduje się opcja o podanej wartości – zwraca -1 jeśli podana opcja nie znajduje się na liście Items->Insert(indeks,”opcja”) – wstawia element na listę pod numer o podanym indeksie Items->Move(indeks1,indeks2) – zamienia elementy na liście o podanych indeksach Items->SaveToFile(nazwaPliku) – zapisuje listę do pliku o podanej nazwie Items->LoadFromFile(nazwaPliku) – wczytuje listę z pliku o podanej nazwie
13
Przyciski – właściwości
Właściwość ModalResult przycisków (zarówno Button jak SpeedButton) - wykorzystywana jest najczęściej w okna dialogowych wyświetlanych w trybie modalnym za pomocą metody ShowModal(). Nadanie wartości tej właściwości skutkuje tym, że naciśnięcie przycisku spowoduje zamknięcie okna modalnego i zwrot określonej wartości we właściwości ModalResult. Dostępne są następujące wartości do zwrócenia: mrOk mrYes 6 mrCancel 2 mrNo 7 mrAbort mrAll 8 mrRetry mrNoToAll 9 mrIgnore 5 nrYesToAll 10
14
Przyciski – właściwości *
Przykład wykorzystania: //wyświetlenie okna w trybie modalnym int result = Form2->ShowModal(); //sprawdzenie zwróconej przez okna modalne wartości if (result == mrOK) oblicz(); If (result == mrCancel) return; Oprócz predefiniowanych wartości można także definiować własne wartości, które będą związane z danym przyciskiem i zwracane przez okno modalne, a następnie je w odpowiedni sposób interpretować np. ustalamy właściwość ModalResult na 101, wówczas możemy dokonać sprawdzenia: if (result == 101) polacz();
15
Przyciski – właściwości
Właściwość Default – wiąże się także z obsługą okien dialogowych. Określa ona tzw. przycisk domyślny. Naciśnięcie klawisza Enter na formularzu wywoła metodę obsługi zdarzenia naciśnięcia przycisku domyślnego. Nadanie wartości true dla właściwości Default powoduje, że dany przycisk staję się przyciskiem domyślnym. Właściwość Enabled – określa czy przycisk jest aktywny (true) czy zablokowany (false). Efektem zablokowania przycisku jest brak możliwości jego naciśnięcia (a co za tym idzie wywołania metod obsługi zdarzeń tego przycisku) oraz szary kolor napisu na przycisku.
16
Przyciski – właściwości *
Komponenty BitBtn i SpeedButton dodatkowo posiadają właściwość Glyphs, która określa ścieżkę do rysunku „naklejonego” na przycisk. Można przyporządkować różne ikony dla 4 różnych stanów przycisku: Przycisk naciśnięty (down) Przycisk zwolniony (up) Przycisk zablokowany (disabled) Przycisk trwale wciśnięty (stay down). W przypadku przyporządkowania tylko jednej ikony Builder automatycznie generuje pozostałe poprzez manipulację grafiką ikony (przesuwanie w górę/dół, zmiana kolorów, itp.).
17
Przyciski – właściwości
Komponent BitBtn posiada także właściwość Kind, która umożliwia nadanie przyciskowi standardowo zdefiniowanego wyglądu. Dodatkowo wybranie jednej z opcji powoduje automatyczne ustalenie opcji ModalResult na odpowiadającą wybranemu rodzajowi ikony (Kind). Poniżej przedstawiono dostępne stylizacje:
18
Pola wyboru CheckBox – dwustanowe pole wyboru, może być zaznaczone (właściwość Checked=true) lub nie zaznaczone (Checked=false). Możliwe jest zaznaczenie wielu pól CheckBox w ramach jednej grupy komponentów. RadioButton – dwustanowe pole wyboru, może być zaznaczone (właściwość Checked=true) lub nie zaznaczone (Checked=false). Istnieje możliwość zaznaczenia TYLKO jednego pola RadioButton w ramach jednej grupy komponentów.
19
Pasek przewijania * Pasek przewijania – ScrollBar - umożliwia wybór wartości liczbowej typu całkowitego. Posiada właściwości: Min – minimalna możliwa wartość, Max – maksymalna możliwa wartość, Position – wartość aktualnie zaznaczona. Min Position Max
20
Standardowe okna dialogowe
Standardowe okna dialogowe wchodzą w skład zasobów systemu operacyjnego Windows. Można je znaleźć na zakładce Dialogs. Należą do nich takie okna dialogowe jak: Okno otwarcia pliku (OpenDialog), Okno zapisania pliku (SaveDialog), Okno otwarcia pliku graficznego (OpenPictureDialog), Okno zapisania pliku graficznego (SavePictureDialog), Okno wyboru czcionki (FontDialog), Okno wyboru koloru (ColorDialog), Okno drukowania (PrintDialog), Okno ustawień drukarki (PrintSetupDialog), Okno wyszukiwania (FindDialog), Okno wyszukiwania i zamiany (ReplaceDialog).
21
Standardowe okna dialogowe
Komponenty reprezentujące okna dialogowe są niewidoczne tzn. nie są w żaden sposób reprezentowane wizualnie na formularzu. Wszystkie okna dialogowe mają wspólną metodę Execute(), która powoduje wyświetlenie określonego okna dialogowego na ekranie. Metoda Execute() zwraca wartość true jeżeli okna zostało zamknięte przyciskiem OK lub wartość false w przypadku gdy okno zostało zamknięte przyciskiem CANCEL. Zazwyczaj odpowiednie operacje przeprowadzana są tylko w przypadku wyboru odpowiedniego pliku/opcji w oknie dialogowym i naciśnięciu klawisza OK: if (OpenDialog->Execute()) { //operacje na pliku }
22
Okna dialogowe otwarcia i zapisania pliku
OpenDialog SaveDialog
23
Okna dialogowe otwarcia i zapisania pliku *
Niektóre z właściwości okien dialogowych otwarcia i zapisania pliku: DefaultExt – domyślne rozszerzenie nazwy pliku, dołączane do nazwy w przypadku, gdy użytkownik nie poda jawnie rozszerzeia, FileName – wybrana przez użytkownika nazwa pliku wraz ze ścieżką dostępu do pliku, Files – obiekt klasy TStrings przechowujący nazwy wybranych plików, ma zastosowanie gdy pozwalamy wybrać użytkownikowi więcej niż jeden plik na raz, Filter – określa nazwę i rozszerzenia plików, które będą wyświetlane w oknie dialogowym np. Pliki tekstowe *.txt, InitialDir – domyślny katalog, którego zawartość pokazywana jest po wyświetleniu okna dialogowego, Title – tytuł okna dialogowego.
24
Okna dialogowe otwarcia i zapisania pliku graficznego *
Okna te (OpenPictureDialog i SavePictureDialog) posiadają identyczne właściwości i działanie jak analogiczne okna dialogowe otwarcia i zapisu plików niegraficznych. Jedyna różnica polega na tym, że w czasie wyboru pliku możliwy jest podgląd zawartości pliku graficznego.
25
Okno dialogowe wyboru czcionki – FontDialog
Okno posiada właściwość Font, która zawiera parametry wybranej czcionki.
26
Okno dialogowe wyboru koloru – ColorDialog *
Okno posiada właściwość Color, która zawiera parametry wybranego koloru.
27
Okno dialogowe drukowania - PrintDialog
Okno drukowania umożliwia ustalenie parametrów wydruku i rozpoczęcie drukowania poprzez naciśnięcie przycisku OK. Większość funkcji drukowania jest obsługiwana bezpośrednio przez system operacyjny. Wymagana jest obsługa tego okna jedynie wówczas, gdy użytkownik zmienia standardowe parametry np. nie drukuje całego dokumentu tylko wybrane strony, albo drukuje do pliku, a nie na drukarkę, itp.
28
Okno dialogowe drukowania - właściwości
Niektóre z właściwości komponentu PrintDialog: Copies – liczba drukowanych kopii. Tworzenie kopii obsługiwane jest przez Windows. FromPage – określa numer pierwszej strony od której rozpoczyna się wydruk. Właściwość powinna być obsługiwana przez aplikację. ToPage – określa numer ostatniej strony na której kończy się wydruk. Właściwość powinna być obsługiwana przez aplikację. PrintToFile – ustala czy wydruk ma być wykonany na drukarce czy przesłany do pliku. Właściwość powinna być obsługiwana przez aplikację. Options – możliwość włączenia/wyłączania niektórych opcji dostępnych w oknie dialogowym drukowania np. możliwość drukowania do pliku, możliwość drukowania wybranych stron, itp.
29
Okno dialogowe ustawień drukarki – PrinterSetupDialog *
Okno ustawień drukarki umożliwia zmianę wybranej drukarki oraz jej parametrów np. układu strony, rozmiaru, sposobu podawania papieru, itp.
30
Okno dialogowe wyszukiwania - FindDialog
Jest to okno niemodalne, dla którego metoda Execute zawsze zwraca wartość true. Obsługa wyszukiwania musi odbywać się poprzez metodę obsługi zdarzenia onFind. Zdarzenie onFind generowane jest po naciśnięciu przycisku Find Next (Następny). Szukany tekst znajduje się we właściwości FindText. Dodatkowo właściwość Options zawiera informacje o zaznaczonych opcjach w oknie np. uwzględnianie tylko całych wyrazów, uwzględnianie wielkości liter, kierunku wyszukiwania, itp.
31
Okno dialogowe zamiany – ReplaceDialog *
Jest to okno niemodalne, dla którego metoda Execute zawsze zwraca wartość true. Obsługa zamiany musi odbywać się poprzez metodę obsługi zdarzenia onReplace. Zdarzenie onReplace generowane jest po naciśnięciu przycisku Replace (Zamień) lub Replace All (Zamień wszystko). Szukany tekst znajduje się we właściwości FindText. Tekst do zamiany znajduje się we właściwości ReplaceText. Dodatkowo właściwość Options zawiera informacje o zaznaczonych opcjach w oknie np. uwzględnianie tylko całych wyrazów, uwzględnianie wielkości liter, itp.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.