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