Hey Volker,
teste mal die Folgende Zeile:
oConn.StartGluePointIndex = oRect(i).GluePoints.insert(oGlue)+ 1
Wäre das Dein erwartetes Eegebnis? Ich denke, die Indices der GluePoints
beginnen bei 1 und nicht bei 0.
Könnte dann natürlich auch ein Fehler der Api sein...
VG
Thomas
Am 16.01.2018 um 14:28 schrieb Volker Lenhardt:
Sub DrawConnector()
Dim oDoc, oPage, oRect(2), oConn, oGlue
Dim oSize As New com.sun.star.awt.Size
Dim oPos As New com.sun.star.awt.Point
Dim i%
oDoc = StarDesktop.loadComponentFromUrl("private:factory/sdraw",
"_blank", 0, Array())
oPage = oDoc.DrawPages.getByIndex(0)
oSize.Width = 1500
oSize.Height = 1000
For i = 0 To 2
oRect(i) = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
oPage.add(oRect(i))
oRect(i).Size = oSize
Next
For i = 0 To 2
oPos.X = (i + 1) * 4000
oPos.Y = 2000 + ((i + 1) Mod 3) * 2000
oRect(i).Position = oPos
oConn = oDoc.createInstance("com.sun.star.drawing.ConnectorShape")
oPage.add(oConn)
oConn.StartShape = oRect(i)
oConn.EndShape = oRect((i + 1) Mod 3)
oConn.EdgeKind = com.sun.star.drawing.ConnectorType.STANDARD
oGlue = CreateUnoStruct("com.sun.star.drawing.GluePoint2")
oGlue.IsRelative = False
oGlue.Escape = com.sun.star.drawing.EscapeDirection.SMART
oGlue.PositionAlignment = com.sun.star.drawing.Alignment.CENTER
oGlue.IsUserDefined = True
oGlue.Position.X = oRect(i).Position.X + 750
oGlue.Position.Y = oRect(i).Position.Y + 500
oConn.StartGluePointIndex = oRect(i).GluePoints.insert(oGlue)
Next
End Sub
--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme?
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert