
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.
A Form-ot bármikor visszaállíthatjuk eredeti állapotába a ClearForm metódus meghívásával.
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.