Embed
Email

Blue Compact Disc

Document Sample

Shared by: Jun Wang
Categories
Tags
Stats
views:
0
posted:
1/29/2012
language:
pages:
31
Programowanie

Wizualne

WYKŁAD 3

Wojciech Pieprzyca

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.

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.

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.

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.

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)

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)

Właściwości komponentów

edycyjnych *

• SelStart – numer pierwszego znaku zaznaczonego tekstu

(Wszystkie – dostępne tylko w czasie uruchomienia)

• SelText – aktualnie zaznaczony tekst

(Wszystkie – dostępne tylko w czasie uruchomienia)



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

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

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)

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; iItems->Count; i++)

{

if (ListBox1->Selected[i])

ShowMessage ("Wybrano opcje "+ListBox1->Items->Strings[i]);

}

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

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 1 mrYes 6

– mrCancel 2 mrNo 7

– mrAbort 3 mrAll 8

– mrRetry 4 mrNoToAll 9

– mrIgnore 5 nrYesToAll 10

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();

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.

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.).

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:

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.

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

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).

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 }

Okna dialogowe otwarcia i

zapisania pliku

• OpenDialog









• SaveDialog

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.

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.

Okno dialogowe wyboru

czcionki – FontDialog

• Okno posiada właściwość Font, która zawiera parametry

wybranej czcionki.

Okno dialogowe wyboru

koloru – ColorDialog *

• Okno posiada właściwość Color, która zawiera

parametry wybranego koloru.

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.

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.

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.

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.

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.



Related docs
Other docs by Jun Wang
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!