Zeichenobjekt löschen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zeichenobjekt löschen

Re: Zeichenobjekt löschen

von erikafuchs » Mi, 18.03.2009 22:23

Lieber Michael,
vielen Dank erstmal für deine Hilfe. Da ich diese Routine in ein Programm einbauen möchte, dass hunderte von Schülern mit verschiedenen oO Versionen nutzen, wäre das jetzt allerdings schlecht wenn nur die geringste Gefahr von Programmabstürzen besteht. Wir schreiben sogar Mathetests mit dem Programm. Dann suche ich vielleicht doch nach einer Möglichkeit die gesamte Drawpage oder alle Elemente auf einmal zu entfernen. Hat dazu jemand eine Idee? Vielleicht ist ja die Information hilfreich, dass ich die Routine innerhalb eines CalcTabellenblattes nutzen will.
Grüße
Pit

Re: Zeichenobjekt löschen

von ykcim » Mi, 18.03.2009 12:24

Eine RemoveByName oder auch ein getbyname geht nicht.
Man muß eine Schleife über die Grafikobjekte machen und den Namen prüfen oder alle in der Schleife löschen.

Code: Alles auswählen

 oPage=odoc.drawpages(0)
 for i=opage.count-1 to 0 Step -1
    oGrafik=opage.getbyindex(i)
' Entweder prüfen
    if oGrafik.name="XXXX" then
      opage.remove(oGrafik)
    end if
 'oder immer löschen
'   opage.remove(oGrafik)
next
Blöderweise schmiert die Funktion bei mir unter 3.0.1 Windows ab. Mit 2.4 geht es.

mfg
Michael

Zeichenobjekt löschen

von erikafuchs » Di, 17.03.2009 22:22

Hallo Leute,
kann mir jemand sagen, wie ich den Befehl formulieren muss um ein Zeichenobjekt zu entfernen. Wenn ich zB. ein Rechteck zeichne mit:

Code: Alles auswählen

Sub RechteckErstellen
   dim oDoc as Object, oPage as Object, oRechteck as object
   oDoc=ThisComponent
   oPage=oDoc.drawPages(0) 
   dim oPos as new com.sun.star.awt.Point
   oPos.X=12000
   oPos.Y=7000
   dim oSize as New com.sun.star.awt.Size
   oSize.width=4000
   osize.height=2000
   oRechteck=oDoc.createInstance("com.sun.star.drawing.RectangleShape")
   with oRechteck
     .Position=oPos
     .Size=oSize
     .Name="Rechteck"
   end with
   oPage.add(oRechteck)
end sub   
Kann ich dann das Rechteck irgenwie mit "oPage.removeByName("Rechteck") oder so entfernen?

Ebenso müsste ich auch die Maßlinie "Masslinie1" entfernen.

Grüße
Pit

... da fällt mir ein: Einfacher wäre es, wenn ich einfach alle Objekte auf der drawpage löschen könnte.

Nach oben