ich habe diese Frage auch schon im oO Forum gepostet, aber eigentlich gehört sie ja hier rein:
In meinem Rechentrainer werden Figuren und Körper mit Maßlinien versehen. In oO funktioniert das wunderbar, in LO nicht.
so soll es z.B. aussehen:
(Es gelingt mir nicht, das Bild hier einzufügen -> siehe unten "mit.jpg")

In oO sieht es auch so aus. In LO sieht es zunächst so aus:
siehe unten "ohne.jpg"

... klicke ich aber auf "Speichern" taucht auch die Beschriftung auf. Wahrscheinlich wisst ihr warum.
Hier ist der Code:
Code: Alles auswählen
sub main
dim oDoc as object, oPunkte as object, oPoly as object, oPage as object, oMass as object
oDoc=ThisComponent
ZeichnungLoeschen
x1=40
y1=20
x2=75
y2=65
oPage=oDoc.drawpages(0)
oPoly=ThisComponent.createInstance("com.sun.star.drawing.PolyPolygonShape")
oPunkte=array(erzeugePunkt(x1*100, y1*100), erzeugePunkt(x2*100, y1*100), erzeugePunkt(x2*100, y2*100), erzeugePunkt(x1*100, y2*100))
oPoly.LineWidth=50
oPage.add(oPoly)
oPoly.PolyPolygon=array(oPunkte())
oPoly.fillColor=rgb(255,255,0)
flag=false
oMass=oDoc.createInstance("com.sun.star.drawing.MeasureShape")
oPage.add(oMass)
With oMass
.StartPosition=erzeugePunkt(x1*100, y1*100)
.endPosition=erzeugePunkt(x2*100, y1*100)
.MeasureDecimalPlaces=1
.MeasureUnit=2
if flag then .MeasureBelowReferenceEdge=true
End With
flag=true
oMass=oDoc.createInstance("com.sun.star.drawing.MeasureShape")
oPage.add(oMass)
With oMass
.StartPosition=erzeugePunkt(x1*100, y1*100)
.endPosition=erzeugePunkt(x1*100, y2*100)
.MeasureDecimalPlaces=1
.MeasureUnit=2
if flag then .MeasureBelowReferenceEdge=true
End With
end sub
'************************************************************************************************************************
'************************************************************************************************************************
sub ZeichnungLoeschen
oPage=ThisComponent.drawpages(0)
do while oPage.count>0
oGrafik=opage.getbyindex(oPage.count-1)
oPage.remove(oGrafik)
loop
end sub
'************************************************************************************************************************
'************************************************************************************************************************
'************************************************************************************************************************
Function erzeugePunkt (ByVal x as Long, ByVal y as long) as com.sun.star.awt.Point
dim oPunkt as new com.sun.star.awt.Point
oPunkt.X=x
oPunkt.Y=y
erzeugePunkt=oPunkt
End Function
'************************************************************************************************************************
Function erzeugeSize (ByVal Breite as Long, ByVal Hoehe as Long) as com.sun.star.awt.Size
Dim oSize as new com.sun.star.awt.Size
oSize.Width=Breite
oSize.Height=Hoehe
erzeugeSize=oSize
end function