Delphi - Téglalapok kezelése a GDI-ben

GDI 5. rész

forráskód letöltése

A TCanvas osztályban több lehetőség is van téglalap alakú területek kitöltésére. Nincs ez másképpen a GDI esetében sem, már csak azért sem, mivel a TCanvas osztály is nagyrészt a GDI-re épül. Most ezeket a függvényeket nézzük meg részletesen. Az első függvény, amit megnézünk a Rectangle, mivel ez egyben a legegyszerűbb is. Ez egy téglalapot rajzol az aktuális Pen és Brush tulajdonságokat figyelembe véve. A körvonal tulajdonságait a Pen, a kitöltését pedig a Brush adja. A függvény paraméterei a következők:
DC: az azonosító, ahová a rajzolás történik (pl. Canvas.Handle, Printer.Canvas.Handle, stb.)
X1, Y1: a téglalap bal-felső koordinátája.
X2, Y2: a téglalap jobb-alsó koordinátája.

A FrameRect függvény egy 1 egység szélességű keretet rajzol a paraméterként megadott Brush tulajdonságaival. Az egység képernyő esetén 1 pixel. A függvény paraméterei a következők:
hDC: a rajzterület azonosítója (pl. Form1.Canvas.Handle)
lprc: TRect típusú paraméter, amiben a téglalap koordinátáit kell megadni.
hbr: a használni kívánt Brush azonosítója (pl. Form1.Canvas.Brush.Handle).

A következő függvény az InvertRect. Ez a megadott téglalap alakú terület pixeleit invertálja, logikai NEM műveletet használva. Paraméterei:
hDC: a rajzterület azonosítója.
lprc: TRect típusú paraméter, amiben a terület koordinátáit kell megadni.

Az utolsó függvény a RoundRect, ami annyiban különbözik a Rectangle-tól, hogy a téglalap sarkai a megadott mértékben le lesznek kerekítve. Paraméterei:
DC: a rajzterület azonosítója.
X1, Y1: a téglalap bal-felső koordinátája.
X2, Y2: a téglalap jobb-alsó koordinátája.
X3, Y3: a lekerekítéshez használt ellipszis vízszintes és függőleges sugarának mérete.


GDI cikksorozat