C++ Builder – Wprowadzenie

Transkrypt

C++ Builder – Wprowadzenie
C++ Builder – Wprowadzenie
część trzecia
Program 5
Napisać aplikację wyświetlającą figurę geometryczną. Aplikacja ma umożliwiać użytkownikowi
zmianę koloru, kształtu i rozmiaru figury oraz włączanie i wyłączanie wyświetlania obramowania.
Kolor ma być zmieniany za pomocą listy rozwijalnej, kształt – przełączników, rozmiar – suwaka,
natomiast obramowanie włączamy zaznaczając pole wyboru.
Na formatce umieszcamy komponent TShape z palety Additional. Reprezentuje on figurę geometryczną. Następnie umieszczamy na formatce komponent TComboBox z palety Standard. Jest
to lista rozwijalna. Ustawiamy następujące właściwości tego komponentu: w Items umieszczamy
listę dostępnych kolorów (każdy w nowej linii) – jest to zawartość listy rozwijalnej, ItemIndex
ustawiamy na 0 – czyli aktualnie wybrana jest pierwsza opcja z listy (numerowane są od 0 do
Items->Count - 1), właściwość Style ustawiamy na csDropDownList, aby uniemożliwić użytkownikowi wpisywanie własnych opcji. Oprogramowujemy zdarzenie OnChange dla tego komponentu: zmiana wyboru powoduje zmianę koloru figury. Komponent TShape nie posiada włąściwości
Color. Posiada natomiast właściwości Brush oraz Pen odpowiadające za wygląd (w tym między innymi kolor - właściwość Color) wnętrza i obramowania odpowiednio. Aby uzyskać indeks
wybranego elementu listy rozwijalnej posługujemy się jej właściwością ItemIndex.
W następnej kolejności umieścimy na formatce pole wyboru umożliwiające włączanie i wyłączanie wyświetlania obramowania. Pole wyboru jest reprezentowane przez komponent TCheckBox
z palety Standard. Interesujące nas właściwości tego koponentu to Caption oraz Checked – ta
ostatnia jest typu logicznego i ma wartość true gdy pole jest zaznaczone. Aby zareagować na
zmianę zaznaczenia obsługujemy zdarzenie OnClick tego komponentu. Aby wyłączyć wyświetlanie obramowania należy we właściwości Pen komponentu TShape ustawić właściwość Style na
wartość psClear. Aby włączyć wyświetlanie ustawiamy tę właściwość na wartość psSolid (ciągły).
Teraz zajmiemy się utorzeniem przełączników służących do zmiany kształtu. Mamy dwa możliwe rozwiązania:
1. Używamy komponentów TRadioButton. Podobnie jak komponent TCheckBox posiadają one
właściwość Checked. Jednak od pola wyboru różnią się tym, że zaznaczenie jednego z przełączników w grupie powoduje odznaczenie wszystkich innych. Grupę tworzą przełączniki
umieszczone na tym samym komponencie (np. formatce). Aby wyodrębnić grupę możemy
umieścić przełączniki na komponencie TGroupBox (lub ewentualnie TPanel). Aby zareagować na zmianę obsługujemy zdarzenie OnClick – można użyć jednej funkcji obsługi zdarzenia dla wszystkich przełączników.
2. Używamy komponentu TRadioGroup (paleta Standard). Jest to grupa przełączników. Napisy
przy poszczaególnych przełącznikach znajdują się we właściwości Items tego koponentu.
Numer wybranego przełącznika znajdziemy we właściwości ItemIndex. Na zmianę wyboru
reagujemy obsługując zdarzenie OnClick.
Kształt figury znajduje się w jej właściwości Shape.
Na końcu dodamy jeszcze możliwość zmiany wielkości figury. W tym celu posłużymy się komponentem TScrollBar z palety Standard. Jest to pasek przewijania. Ustawiamy jego właściwości
Min na minimalną szerokość figury (np. 0), Max na maksymalną szerokość (np. 100). Właściwość
Position oznacza aktualną pozycję paska – ustawiamy ją na aktualna szerokość figury. Na przewijanie paska reagujemy obsługując jego zdarzenie OnChange. W obsłudze zdarzenia zmieniamy
szerokość (Width) figury na wartość związaną z aktualną pozycją paska. Wysokość figury powinna
stanowić stałą część (np. 0.5) jej szerokości.
Do opisu działania komponentów możemy użyć etykiet (TLabel) lub umieścić wybrane komponenty na komponentach TGroupBox z odpowiednim napisem (Caption).
Zadanie 5.1
Napisać program Ankieta, który umożliwia użytkownikowi wprowadzenie następujących informacji:
• imię i nazwisko (pole edycyjne),
• płeć (przełączniki),
• wiek (wybór od 1 do 100 za pomocą suwaka),
• zamieszkanie (wybór: wieś, miasto do 50000 mieszk., miasto powyżej 50000 mieszk. za
pomocą listy rozwijalnej).
Za pomocą przycisku Zapisz program ma umożliwiać zapisanie danych z ankiety do pliku
dane.txt. Do zapisu można użyć standardowej biblioteki fstream.
Zadanie 5.2
Napisać program, który pozwoli wybrać kolor formatki za pomocą listy rozwijalnej. Po zamknięciu i ponownym uruchomieniu programu formatka ma mieć ostatnio wybrany kolor. Kolor
na liście rozwijalnej ma odpowiadać kolorowi formatki. Należy skorzystać ze zdarzeń OnCreate i
OnClose dla formatki.