
A mellékelt példaprogram megnyitása előtt a GfxFrame.pas-ban lévő komponenst telepítenie kell a Delphi alá.
Az eljárás egy bitképből állítja elő a keretet, ami azt jelenti, hogy a keret kinézete csak a fantáziánkra van bízva, ráadásul a bitkép bármilyen rajzolóprogrammal előállítható.
Az eljárás a képet 9 részre osztja fel. Négy sarokra, négy oldalra, és az általuk közrefogott belső részre. Hogy ez hogyan is történik, az az alábbi képen látható:
A sárga négyzetek a sarkokat, a zöld az oldalakat, a piros pedig a belső részt jelzi. A képen látható, hogy amikor a keretet átméretezzük, akkor a sarkok mérete nem változik, viszont az oldalakat és a belső részt valamilyen mértékben meg kell nyújtani. A bal és jobb oldal szélessége változatlan marad, a magassága viszont változik. A felső és alsó oldalaknál fordított a helyzet, ott a magasság állandó, és a szélesség változik. A kiinduló kép, ami a keret grafikáját tartalmazza tehát elég, ha éppen csak akkora, amelyben a keretet alkotó részeket meg lehet rajzolni. Persze minden keret típusnál más és más az oldalak, így a sarkok mérete is, ezt tehát paraméterként meg kell adni.

DrawGfxFrame
Osztály:
procedure DrawGfxFrame(
Dest: HDC;
Rect: TRect;
Bitmap: TBitmap;
Sizes: TRect
);
A DrawGfxFrame eljárás önállóan is használható, a GfxFrame komponens is ezt használja.
Paraméterek
Dest: HDC
Annak a Canvas-nak az azonosítója, amire a keretet rajzolni szeretnénk.
ARect: TRect
A célterület koordinátáit tartalmazó TRect típusú struktúra.
Bitmap: TBitmap
A keret részeit tartalmazó bitkép objektuma.
Sizes: TRect
A keret részei minden bitkép esetén más és más méretűek lehetnek. Az 1 pixel szélességű kerettől kezdve egészen a vastagabb keretekig az oldalak és sarkok mérete változó lehet. Éppen ezért meg kell adni négy értéket, melyek a felső, alsó, bal és jobb oldalak szélességei pixelben. A TRect struktúra Left mezője a baloldal, a Right mező a jobboldal, a Top és a Bottom mezők pedig a felső és az alsó oldalak méretét adják meg.
A példában létrehoztunk egy komponenst is az eljárás egyszerűbb bemutatása érdekben.

Picture
Osztály: TGfxFrame
property Picture: TBitmap;
Ebben a property-ben adhatjuk meg a keret részeit tartalmazó bitképet.

LeftSize
Osztály: TGfxFrame
property LeftSize: integer;
A baloldal szélessége pixelben.

RightSize
Osztály: TGfxFrame
property RightSize: integer;
A jobboldal szélessége pixelben.

TopSize
Osztály: TGfxFrame
property TopSize: integer;
A felső oldal magassága pixelben.

BottomSize
Osztály: TGfxFrame
property BottomSize: integer;
Az alsó oldal magassága pixelben.