Sun Microsystems
Termékek
 
Támogatás
 
 

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

Rajzobjektumok szerkesztése

Objektumok csoportosítása

Sokszor előfordul, hogy hasznos az egyes rajzobjektumokat csoportosítani, amelyek így egyetlen nagy objektumként viselkednek.

A következő példa két rajzobjektumot von össze:

Dim Doc As Object

Dim Page As Object

Dim Square As Object

Dim Circle As Object

Dim Shapes As Object

Dim Group As Object

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

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

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

Dim Height As Long

Dim Width As Long



Doc = StarDesktop.CurrentComponent

Page = Doc.drawPages(0)

Point.x = 3000

Point.y = 3000

Size.Width = 3000

Size.Height = 3000

' négyszög-rajzelem létrehozása

Square = Doc.createInstance("com.sun.star.drawing.RectangleShape")

Square.Size = Size

Square.Position = Point

Square.FillColor = RGB(255,128,128) 

Page.add(Square)

' kör-rajzelem létrehozása

Circle = Doc.createInstance("com.sun.star.drawing.EllipseShape")

Circle.Size = Size

Circle.Position = Point

Circle.FillColor = RGB(255,128,128) 

Circle.FillColor = RGB(0,255,0)

Page.add(Circle)

' a kör és a négyszög kombinálása

Shapes = createUnoService("com.sun.star.drawing.ShapeCollection")

Shapes.add(Square)

Shapes.add(Circle)

Group = Page.group(Shapes)

' kombinált rajzelemek középre helyezése

Height = Page.Height

Width = Page.Width

NewPos.X = Width / 2

NewPos.Y = Height / 2

Height = Group.Size.Height

Width = Group.Size.Width

NewPos.X = NewPos.X - Width / 2

NewPos.Y = NewPos.Y - Height / 2

Group.Position = NewPos

Ez a program létrehoz egy négyszöget és egy kört, majd beszúrja őket egy oldalra. Ezután létrehoz egy objektumot, amely támogatja a com.sun.star.drawing.ShapeCollection szolgáltatást, és az Add metódussal hozzáadja a négyszöget és kört ehhez az objektumhoz. A ShapeCollection objektumot hozzáadja az oldalhoz a Group metódussal, és visszaadja a Group objektumot, amely önálló Shape objektumként szerkeszthető.

Ha a csoport egyes tagjait akarjuk formázni, akkor formázzuk őket, mielőtt a csoporthoz adnánk őket. Az objektumok nem módosíthatók, ha már a csoport tagjai.

Rajzobjektumok forgatása és döntése

Az előző részekben leírt összes rajzobjektum forgatható és dönthető a com.sun.star.drawing.RotationDescriptor szolgáltatás használatával.

A szolgáltatás a következő tulajdonságokkal rendelkezik:

  • RotateAngle (hosszú egész) - forgatás szöge századfokban.

  • ShearAngle (hosszú egész) - döntés szöge századfokban.

A következő példa létrehoz egy négyszöget, és elforgatja 30 fokban a RotateAngle tulajdonsággal:

Dim Doc As Object

Dim Page As Object

Dim RectangleShape 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)



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

RectangleShape.Size = Size

RectangleShape.Position = Point



RectangleShape.RotateAngle = 3000



Page.add(RectangleShape)

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