Komponenty VCL
BitBtn klikalny przycisk, który umożliwia również wyświetlenie bitmapy obok znajdującego się na nim napisu. SpeedButton klikalny przycisk, który umożliwia wyświetlenie bitmapy oraz wykorzystywany jest gdy grupowanych jest wiele przycisków. MaskEdit jednowierszowe pole tekstowe z możliwością ustawienia maski do wprowadzenia. StringGrid kontrolka typu Grid, ułatwiająca zarządzanie tekstem. DrawGrid reprezentuje dowolne dane w formie tabelarycznej. Image kontrolka do wyświetlania obrazów na formie. Shape reprezentuje figurę geometryczną, która ma zostać narysowana. Bevel kontrolka reprezentująca trójwymiarowy obrys. ScrollBox reprezentuje obszar okna zawierający paski przewijania. CheckListBox kontrolka podobna do ListBox, z tym że zawierająca również pola wielokrotnego wyboru obok każdego z elementów. Splitter umożliwia podział formy na rozszerzalne obszary. StaticText kontrolka wyświetlająca tekst na formie (jak Label) ale posiadająca inną naturę (wywodząca się z klasy TWinControl (może otrzymać focus).
ControlBar zarządza rozkładem komponentów typu Toolbar. ApplicationEvents przechwytuje i kopiuje zdarzenia zachodzące na poziomie aplikacji. ValueListEditor zapewnia wygodny i prosty sposób do manipulacji (edycji) danych tekstowych w formie par nazwa-wartość. LabeledEdit pole tekstowe typu Edit z przypisaną nazwą (połączenie label i edit). ColorBox komponent typu ComboBox, który posiada prócz nazw elementów przypisane im kolory.
Ważne właściwości: Glyph określa obrazek znajdujący się na przycisku. Wyświetla odpowiednią część bitmapy w zależności od stanu przycisku: up, down, disabled, clicked. Kind określa typ przycisku. Layout określa położenie obrazka znajdującego się na przycisku (blglyphleft, blglyphright, blglyphtop, blglyphbottom). Margin określa odległość w pixelach między krawędzią przycisku, a krawędzią obrazka. NumGlyphs określa ile obrazków jest tak naprawdę podanych w Glyph. Możliwe wartości od 1 do 4. Spacing określa odległość w pixelach między obrazkiem a tekstem.
Ważne właściwości: AllowAllUp umożliwia odznaczenie wszystkich SpeedButton ów należących do tej samej grupy. Down określa aktualny stan przycisku: wciśnięty (down), niewciśnięty (up). Flat usuwa bądź dodaje trójwymiarową obwódkę symbolizującą stan przycisku. GroupIndex indeks grupy do której należy dany SpeedButton (musi być większa niż zero). Transparent określa czy tło przycisku ma być przeźroczyste.
Ważne właściwości: EditMask maska, która reprezentuje poprawie wprowadzony ciąg znaków. Walidacja wykonywana jest w metodzie ValidateEdit. EditText tekst po sformatowaniu go zgodnie z maską wprowadzającą. Zawiera również puste znaki (_). Możliwe do odczytu tylko podczas działania programu. Jeśli wszystkie znaki zostały wprowadzone zgodnie z maską, wartość ta jest analogiczna do wartości właściwości Text. IsMasked określa czy została ustawiona jakakolwiek maska. MaxLenght określa maksymalną liczbę znaków możliwych do wprowadzenia jeśli nie została określona żadna maska.
Ważne właściwości: Cells[int ACol][int ARow] lista ciągów znaków znajdujących się w każdej komórce. ColCount, RowCount określają liczbę kolumn i wierszy. Cols[int Index] lista wszystkich ciągów znaków znajdujących się w danej kolumnie. Objects[int ACol][int ARow] umożliwia dostęp do obiektu przypisanego do określonej komórki. Rows[int Index] lista wszystkich ciągów znaków znajdujących się w danym wierszu. Col aktualnie wybrana (zaznaczona) kolumna. Row aktualnie wybrany (zaznaczony) wiersz.
Ważne właściwości: Center określa czy obrazek jest wyśrodkowany wewnątrz komponentu. IncrementalDisplay - określa czy kolejne aproksymacje obrazu powinny być wyświetlane podczas wyświetlania złożonych obrazów tzw. ładowanie progresywne. Picture określa obraz, który ma zostać wyświetlony. Proportional określa czy obrazek powinien być skalowany w dół (z zachowaniem właściwych proporcji), tak by nie wykraczał poza obraz komponentu. Stretch rozszerza bądź zmniejsza obraz do rozmiarów kontrolki, nawet jeśli powoduje to zniekształcenia. Autosize powoduje, że kontrolka dostosowuje swoją wielkość do zawartości (rozmiaru obrazka). Transparent tło obrazka powinno być traktowane jako przeźroczyste.
Ważne właściwości: Brush określa kolor pędzla i wzór do zastosowania podczas wypełniania kształtu. Pen określa kolor, styl i grubość pędzla użytego do narysowania obramowania danej figury. Określa kształt figury jaka ma zostać narysowana: stcircle - koło stellipse - elipsa strectangle prostokąt (domyślnie) stroundrect - prostokąt z zaokrąglonymi brzegami stroundsquare kwadrat z zaokrąglonymi brzegami stsquare - kwadrat
Ważne właściwości: BorderStyle styl obramowania. AutoScroll określa, czy paski przewijania mają się pojawiać automatycznie, jeśli kontrolka nie jest dostatecznie duża by wyświetlić całą swoją zawartość. HorzScrollBar służy do pokazania, ukrycia lub manipulacji poziomym paskiem przewijania. VertScrollBar służy do pokazania, ukrycia lub manipulacji pionowym paskiem przewijania.
Ważne właściwości: AllowGrayed wprowadza trzeci stan w jakim może się znaleźć element: zaznaczony, odznaczony, wyłączony (grayed). Checked[int Index] określa listę elementów które zostały zaznaczone (true). Flat określa czy pola wyboru posiadają efekt trójwymiaru bądź nie. ItemEnabled[int Index] pozwala wyłączyć konkretny element na liście. Header[int Index] określa, które elementy na liście należy traktować jako nagłówki. State[int Index] określa aktualny stan podanego elementu: zaznaczony, odznaczony, wyłączony.
Ważne właściwości: ColorNames lista nazw kolorów wyświetlanych w ColorBoxie. ColorNames lista kolorów wyświetlanych w ColorBoxie. DefaultColorColor określa jaki kolor powinien zostać wyświetlony dla nazwy cldefaultcolor. NoneColorColor - określa jaki kolor powinien zostać wyświetlony dla nazwy clnone. Selected określa aktualnie wybrany kolor. Style określa jakie kolory są wyświetlane w ColorBoxie oraz jak ich nazwy powinny zostać sformatowane.
Ważne właściwości: Count określa ile obrazków zostało dodanych do komponentu. BkColor kolor tła dla obszarów objętych maską. Nie ma znaczenia jeśli Masked = false. Masked określa czy komponent zawiera maskę, jaka ma być nałożona na obrazki. Wybrane metody: Add(Graphics::TBitmap* Image, Graphics::TBitmap* Mask) dodaje obrazki do listy wraz z ich maskami. Zwraca indeks dodanego elementu lub -1 jeśli operacja zakończy się niepowodzeniem. Clear(void) usuwa wszystkie obrazki z listy. Delete(int Index) usuwa określony obrazek z listy. GetBitmap(int Index, Graphics::TBitmap* Image) pobiera element listy o zadanym indeksie i zwraca go jako bitmapę. Istnieje możliwość przypisania obrazka do obiektu typu TBitmap. Insert(int Index, Graphics::TBitmap* Image, Graphics::TBitmap* Mask) dodaje obrazek pod zadanym indeksem. Replace(int Index, Graphics::TBitmap* Image, Graphics::TBitmap* Mask) zastępuje obrazek pod zadanym indeksem.
Proszę wejść na stronę internetową http://programowanie.siminskionline.pl/?page_id=85 Oraz pobrać i zapoznać się z działaniem, zastosowanymi komponentami, ustawionymi właściwościami oraz kodem następujących programów:» Manipulowanie oknem niemodalnym,» Graficzny przycisk i przesuwanie okna bez obramowania,» Średnie spalanie ze skórką,» Średnie spalanie ze skórką i oknem startowym,» Średnie spalanie ze skórką i modalnym oknem startowym. Jakie nieomówione jeszcze komponenty zostały tam użyte? Do czego one służą? Jakie nowe funkcje i zdarzenia zostały tam zastosowane?
Napisz program, będący prostym quizem Użyj do tego co najmniej komponentów CheckBox, RadioButton Program ma zawierać od 3-10 pytań. Musi zawierać pytania zamknięte, o jednej możliwej odpowiedzi albo wielu odpowiedziach Po zatwierdzeniu testu, należy podliczyć punkty użytkownika
Napisz prosty symulator gry w statki. Zakładamy, że komputer losuje 8 miejsc dla jednomasztowców na planszy 5x5. X jest wybierany przez użytkownika za pomocą checkboxów. Użytkownik za pomocą wybranego przez Ciebie sposobu strzela. O oddaniu strzału, program informuje go o trafieniach. Jeśli trafił wszystkie statki podlicza ile razy strzelał Jeśli strzelał dwa razy w to samo miejsce należy go o tym poinformować stosownym komunikatem błędu. Porada: Mogą państwo skorzystać z funkcji ShowMessage(text), która wyświetla okienko z przyciskiem OK i treścią komunikatu podaną jako parametr. Oprogramuj też przycisk nowa gra. Zadbaj o wygląd aplikacji: Zmień tło, kursor, wprowadź przeźroczystość.
Napisz program z okazji Światowego Dnia Poczty i Znaczka Pocztowego. Uczcij pracujących w trudzie dzięki prostemu programikowi: Program ma posiadać jeden przycisk służący do wykonania działań Generuj życzenia Oprócz tego powinien posiadać napisany bezpośrednio na formie tekst życzeń Za pomocą różnych pól wyboru, radiobuttonów, checkboxów, SpeedButtonów itp. dokonaj wyboru koloru czcionki, koloru tła, kroju czcionki. Ogranicz się do 3 z każdej kategorii. Po kliknięciu przycisku działania, należy wyświetlić życzenia o zdefiniowanych wcześniej parametrach. Dodatkowo oprogramuj działanie przycisków służących do przesuwania napisu w różnych kierunkach Dla chętnych: przycisk powodujący pojawianie się napisu w losowym miejscu, o losowym kolorze, wielkości i kroju czcionki.
Napisz humorystyczny program, w którym po najechaniu na przycisk OK, przycisk ten losowo zmienia swoje miejsce na formie Pamiętaj o wielkości formy i jak daleko możesz wyjechać. Wykorzystaj w tym celu zdarzenie MouseMove generowane, gdy użytkownik ruszy myszą będąc jednocześnie na obszarze danego komponentu.