Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő

Vonalak

A StarOffice a com.sun.star.drawing.LineShape szolgáltatást biztosítja a vonalobjektumokhoz. A vonalobjektumok támogatják az összes általános formázási szolgáltatást, kivéve a területekre vonatkozókat. A LineShape szolgáltatáson keresztül a következő tulajdonságok érhetők el:

  • Vonaltulajdonságok - com.sun.star.drawing.LineProperties

  • Szövegtulajdonságok - com.sun.star.drawing.Text (a com.sun.star.style.CharacterProperties és a com.sun.star.style.ParagraphProperties szolgáltatással)

  • Árnyéktulajdonságok - com.sun.star.drawing.ShadowProperties

A következő példa létrehoz és formáz egy vonalat a fent említett tulajdonságok használatával. A vonal kezdőpontját a Location tulajdonság határozza meg, míg a Size tulajdonságban megadott koordináták meghatározzák a vonal végét.

Dim Doc As Object

Dim Page As Object

Dim LineShape As Object

Dim Point As New com.sun.star.awt.Point

Dim Size As New com.sun.star.awt.Size



Point.x = 1000

Point.y = 1000

Size.Width = 10000

Size.Height = 10000



Doc = StarDesktop.CurrentComponent

Page = Doc.drawPages(0)



LineShape = Doc.createInstance("com.sun.star.drawing.LineShape")

LineShape.Size = Size

LineShape.Position = Point



Page.add(LineShape)

Polipoligon-alakzatok

A StarOffice támogatja az összetett poligonális alakzatokat a com.sun.star.drawing.PolyPolygonShape szolgáltatáson keresztül. Szigorúan véve a polipoligon nem egyetlen poligon, hanem több. Több független, sarokpontokat tartalmazó lista megadható és kombinálható, amelyek együtt egy teljes objektumot alkotnak.

Ahogy a négyszögalakzatoknál is, úgy a polipoligonoknál is a rajzobjektumok összes tulajdonsága rendelkezésre áll.

  • Kitöltési tulajdonságok - com.sun.star.drawing.FillProperties

  • Vonaltulajdonságok - com.sun.star.drawing.LineProperties

  • Szövegtulajdonságok - com.sun.star.drawing.Text (a com.sun.star.style.CharacterProperties és a com.sun.star.style.ParagraphProperties szolgáltatással)

  • Árnyéktulajdonságok - com.sun.star.drawing.ShadowProperties

A PolyPolygonShape szolgáltatás rendelkezik egy tulajdonsággal, amellyel megadhatók egy poligon koordinátái:

  • PolyPolygon (tömb) - a poligon koordinátáit tartalmazó tömb (dupla pontosságú értékeket tartalmazó tömb, com.sun.star.awt.Point típusú pontokkal).

A következő példa bemutatja, hogyan hozható létre egy háromszög a PolyPolygonShape szolgáltatással.

Dim Doc As Object

Dim Page As Object

Dim PolyPolygonShape As Object

Dim PolyPolygon As Variant

Dim Coordinates(2) As New com.sun.star.awt.Point



Doc = StarDesktop.CurrentComponent

Page = Doc.drawPages(0)



PolyPolygonShape = Doc.createInstance("com.sun.star.drawing.PolyPolygonShape")

Page.add(PolyPolygonShape)   ' A Page.add metódusnak meg kell előznie a koordináták beállítását.



Coordinates(0).x = 1000

Coordinates(1).x = 7500

Coordinates(2).x = 10000

Coordinates(0).y = 1000

Coordinates(1).y = 7500

Coordinates(2).y = 5000



PolyPolygonShape.PolyPolygon = Array(Coordinates())

Mivel a poligon pontjai abszolút értékek, nem kell megadnunk a poligon méretét vagy kezdőpontját. Ehelyett, létre kell hozni egy tömböt a pontokból, beágyazni ezt a tömböt egy másik tömbbe (az Array(koordináták)() függvénnyel), majd ezt a tömböt hozzárendelni a poligonhoz. A függvényhívás előtt a poligont be kell szúrni a dokumentumba.

A dupla pontosságú tömbbel lehetővé válik, hogy összetett alakzatokat hozzunk létre több poligon összevonásából. Például létrehozhatunk egy négyszöget, majd beszúrhatunk egy másik négyszöget annak belsejébe, és létrehozhatunk egy lyukat az eredeti négyszögben:

Dim Doc As Object

Dim Page As Object

Dim PolyPolygonShape As Object

Dim PolyPolygon As Variant

Dim Square1(3) As New com.sun.star.awt.Point

Dim Square2(3) As New com.sun.star.awt.Point

Dim Square3(3) As New com.sun.star.awt.Point



Doc = StarDesktop.CurrentComponent

Page = Doc.drawPages(0)



PolyPolygonShape = Doc.createInstance("com.sun.star.drawing.PolyPolygonShape")



Page.add(PolyPolygonShape)   ' A Page.add metódusnak meg kell előznie a koordináták beállítását.



Square1(0).x = 5000

Square1(1).x = 10000

Square1(2).x = 10000

Square1(3).x = 5000

Square1(0).y = 5000

Square1(1).y = 5000

Square1(2).y = 10000

Square1(3).y = 10000



Square2(0).x = 6500

Square2(1).x = 8500

Square2(2).x = 8500

Square2(3).x = 6500

Square2(0).y = 6500

Square2(1).y = 6500

Square2(2).y = 8500

Square2(3).y = 8500



Square3(0).x = 6500

Square3(1).x = 8500

Square3(2).x = 8500

Square3(3).x = 6500

Square3(0).y = 9000

Square3(1).y = 9000

Square3(2).y = 9500

Square3(3).y = 9500



PolyPolygonShape.PolyPolygon = Array(Square1(), Square2(), Square3())

Előző Előző     Tartalom     Tárgymutató     Következő Következő