HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Képek és minták a Form-on


Példaprogram letöltése

69805 bájt

Készítünk egy komponenst, amely segítségével különböző mintákat és képeket helyezhetünk el a Form hátterén. A komponens segítségével kiválaszthatunk egy mintát és egy színt, vagy esetleg egy képet. A komponens gondoskodik arról, hogy az általunk kiválasztott elem megjelenjen a Form-on.

A mellékelt példaprogram megnyitása előtt a FormFill.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A komponenst csak el kell helyeznünk egy Form-on. A tulajdonságok beállítása után egy-egy metódus meghívásával a Form hátterére mintákat vagy képet rajzolhatunk.
A mintázat színét a Color, míg magát a mintát a FillFormat property-ben állíthatjuk be. Lehetőségünk van arra is, hogy képet adjunk meg, ezt a Picture tulajdonság segítségével tehetjük meg.
Ha azt akarjuk, hogy a kiválasztott minta jelenjen meg a Form hátterén, meg kell hívnunk a PaintFillFormat metódust.
procedure PaintFillFormat;
Ha azt akarjuk, hogy a Form háttere a megadott kép legyen, hívjuk meg a PaintPicture metódust.
procedure PaintPicture;
A Form-ot bármikor visszaállíthatjuk eredeti állapotába a ClearForm metódus meghívásával.
procedure ClearForm;
Ha méretezzük a Form-ot, akkor a kitöltési minta eltűnik. Ha azt akarjuk, hogy a Form minden esetben az általunk megadott háttérrel rendelkezzen, az OnPaint és OnResize eseményében hívjuk meg a komponens megfelelő metódusát.
A komponenst a TComponent osztályból származtatjuk.
A TCanvas osztály Brush objektuma rendelkezik néhány kitöltési mintázattal, ezeket használjuk fel. A minták használatához a FillFormat property típusaként a TBrushStyle típust kell megadnunk.
A minta megrajzolását a PaintFillFormat metódusban kell leprogramoznunk. A megrajzolásához a komponenst tartalmazó Form Canvas objektumát használjuk fel.
with (Owner as TForm).Canvas do begin
  Brush.Color:=FColor;
  Brush.Style:=FFillFormat;
  FillRect(Rect(0,0,(Owner as TForm).ClientWidth,(Owner as TForm).ClientHeight));
end;
Miután átfestettük a Form hátterét, gondoskodnunk kell az azon elhelyezkedő komponensek frissítéséről. A TLabel-hez hasonló komponensek ugyanis átfestésre kerültek.
for i:=0 to (Owner as TForm).ControlCount-1 do
  (Owner as TForm).Controls[i].Refresh;
A PaintPicture metódusban, a kép kirajzolásához szintén a Form Canvas objektumát használjuk fel.
if Assigned(FPicture) then begin
  (Owner as TForm).Canvas.StretchDraw(Rect(0,0,(Owner as TForm).ClientWidth,(Owner as TForm).ClientHeight),FPicture.Graphic);
A StretchDraw metódus segítségével egy képet a megadott keretre feszíthetünk ki. Nekünk most éppen erre van szükségünk. Itt is gondoskodnunk kell a Form-on lévő komponensek frissítéséről.
A ClearForm metódusban ugyanúgy járunk el, mint a PaintFillFormat-ban. Ez alkalommal azonban a Form-ot saját színével kell lefestenünk.

Cikksorozat

#IDKategóriaCikk címeSorozat
2535C#Oracle adatbázis-elérés alapjai1. rész
2546C#SQL utasítások végrehajtása2. rész
2557C#Tárolt eljárások és függvények fejlesztése3. rész
2565C#Csomagok fejlesztése4. rész
2573C#Adatbázis triggerek fejlesztése5. rész
2581C#Kivételek kezelése PL/SQL-ben6. rész
3276C#Kurzorok deklarálása PL/SQL-ben7. rész
3297C#Tömb adattípus létrehozása és kezelése PL/SQL-ben8. rész
3326C#Adatbevitel tömb-adattípussal rendelkező oszlopokba9. rész
3357C#Adattárolás beágyazott tábla-típusú oszlopokban10. rész
3388C#Adatok beszúrása beágyazott táblákba11. rész
3418C#Index létrehozása PL/SQL-ben12. rész
3444C#Szekvenciák használata13. rész
3488C#Adatok betöltése állományokból14. rész
1765DelphiOracle adatbázis-elérés alapjai15. rész
1774DelphiSQL utasítások végrehajtása16. rész
1784DelphiTárolt eljárások és függvények fejlesztése17. rész
1794DelphiCsomagok fejlesztése18. rész
1803DelphiAdatbázis triggerek fejlesztése19. rész
1815DelphiKivételek kezelése PL/SQL-ben20. rész
3256DelphiKurzorok deklarálása PL/SQL-ben21. rész
3287DelphiTömb adattípus létrehozása és kezelése PL/SQL-ben22. rész
3318DelphiAdatbevitel tömb-adattípussal rendelkező oszlopokba23. rész
3348DelphiAdattárolás beágyazott tábla típusú oszlopokban24. rész
3377DelphiAdatok beszúrása beágyazott táblákba25. rész
3408DelphiIndex létrehozása PL/SQL-ben26. rész
3436DelphiSzekvenciák használata27. rész
3467DelphiAdatok betöltése állományokból28. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 75. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |