Scrollbar, trackbar
Komponent scroolbar - Miešanie farieb
Navrhnime projekt, ktorý bude miešať farby a farbiť tak napr. plochu
formuláru. V riešení použijeme možnosti nového prvku - posuvníka - scrollbar - ktorý umožňuje spojite meniť hodnoty vo zvolenom intervale. Na ne sa môžeme odvolať parametrom Position - ktorý vráti aktuálnu pozíciu posuvníka.
Výsledok projektu predstavuje obrázok: |
|
RIEŠENIE: Do prázdneho formuláru položíme "grafickú plochu" - komponent Image
z palety komponentov Additional. Dalej do formuláru položíme 3 komponenty ScrollBar z palety Standard a pridajme im návestia Label: |
|
Zadefinujte novú metódu formuláru, napr. ZmenVsetko |
procedure TForm1.ZmenVsetko;
begin
Form1.Color:=RGB(ScrollBar1.Position,
ScrollBar2.Position,
ScrollBar3.Position);
Label1.Caption:='Red='+IntToStr(ScrollBar1.Position);
Label2.Caption:='Green='+IntToStr(ScrollBar2.Position);
Label3.Caption:='Blue='+IntToStr(ScrollBar3.Position);
end;
|
|
V Objektovom inšpektore zadefinujme každému ScrollBaru udalosť
OnChange. Zmeny každého ScrollBaru vyvolajú metódu ZmenVsetko
|
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
ZmenVsetko;
end;
|
| m
|
Posuvná lišta - TrackBar
Analogickú funkciu, akú má scroolbar, má aj komponent Tracbar. Je vhodnejší pri presných nastaveniach číselných hodnôt z daného intervalu.
Vybereme komponent posuvná lišta - TrackBar z palety komponentov, položme ho do formulára a prispôsobme jeho veľkosť. V Objektovom inšpektore si nastavme hodnoty Min a Max.
Pri jeho posúvaní vznikne udalosť OnChange - aktuálnu hodnotu na lište môžeme zistiť stavovou premennou Position. Naprogramujeme udalosť OnChange pre zmenu hrúbky pera:
|
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
g.Pen.Width:=TrackBar1.Position;
end;
|
|
|
Úlohy na riešenie
1. Zmeňte úvodný projekt tak, aby sa menila farba prázdnej malej grafickej plochy (nie formulára) podobne, ako to býva zvykom v grafických editoroch, kde sa vybraná - aktuálna farba zobrazí v malom okienku. (Grafická plocha môže mať malé rozmery.)
|
2. Vytvorte projekt, ktorý na grafickej ploche vykreslí N štvorcov so zväčšujúcou sa stranou. Prírastok strany štvorca je určený hustotou nastaviteľnou užívateľom pomocou posuvníka a počet štvorcov určuje užívateľ v editovacom okne. Súčasťou projektu je tlačidlo pre zmazanie grafickej plochy. |
|
3. Vytvorte projekt, ktorý na grafickej ploche vykreslí plot z N "latiek" so zväčšujúcou sa výškou podľa fukcie sinus. Hustota latiek je nastaviteľná užívateľom pomocou posuvníka a počet latiek určuje užívateľ v editovacom okne. Projekt môžete doplniť o posuvník pre hrúbku latiek. Súčasťou projektu je tlačidlo pre zmazanie grafickej plochy. |
|
4. Vytvorte projekt, ktorý na grafickej ploche vykreslí kruhovú špirálu s nastaviteľnou hustotou a hrúbkou čiary. Hustota aj hrúbka čiary je nastaviteľná užívateľom pomocou posuvníkov v reálnych intervaloch hodnôt. Súčasťou projektu je tlačidlo pre zmazanie grafickej plochy. |
|
|