Seite 1 von 1

Writer: Diagonale Linie in Ooo3.2

Verfasst: Fr, 08.04.2011 06:41
von jona99
Hi

Ich habe ein altes Programm, das in OOo1.0.3 Writer richtig läuft,
in OOo3.2.0 Writer aber nicht mehr.
Und ich sehe meinen Fehler nicht.
(restliche Umgebung WinXP SP3)

Der Code (siehe unten) legt eine diagonale Linie
(von unten links nach oben rechts) über eine Zahl.
In OOo3.2.0 ruscht die diagonale Linie eine Zeile tiefer.

Danke
Jona99

Code: Alles auswählen

option explicit
sub Test
    dim writer as object
    dim txt    as object
    dim cur    as object

    writer = ThisComponent
    txt    = writer.Text
    cur    = txt.createTextCursor
    cur.charHeight = 30
      				    
    txt.insertString(cur, "1234.56", false)		   
    MakeDiagLine(writer, txt, cur)
    
    txt.insertControlCharacter(cur, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
end sub

sub MakeDiagLine(byval writer as object, byval txt as object, byval cur as object)
    dim w as long
    dim h as long
    
    w = 2000 '2cm
   	h = (cur.charHeight/72.00) * 2.54 * 1000
     
    dim diagline as object
    dim point    as new com.sun.star.awt.Point 
    dim size     as new com.sun.star.awt.Size
    diagline = writer.createInstance("com.sun.star.drawing.LineShape")
     
    point.X     =  0
    point.Y     =  h
    size.Width  =  w
    size.Height = -h

    diagline.LineColor    = rgb(255, 0, 0)
    diagline.AnchorType   = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
    diagline.Position     = point
    diagline.Size         = size
    diagline.TextWrap     = com.sun.star.text.WrapTextMode.THROUGHT
    txt.insertTextContent(cur, diagline, false)
end sub

Moderation,4: verschoben in BASIC Bereich; Betreff angepasst

Re: Writer: Diagonale Linie in Ooo3.2

Verfasst: Fr, 08.04.2011 08:09
von komma4
Willkommen im Forum
jona99 hat geschrieben:Und ich sehe meinen Fehler nicht.
Nach meinen Versuchen scheint es so zu sein, dass OOo 3.2.1 (hier) die X-Positionierung nicht annimmt - egal, was ich angebe.

Bug?

Re: Writer: Diagonale Linie in Ooo3.2

Verfasst: Mo, 11.04.2011 04:50
von jona99
Ich habe es mal mit Openoffice 2.3.0 mit WinXPSP3 probiert.
Da bekomme ich gleiches Ergebnis wie in Oo 3.2.
Also vielleicht doch ein Bug, wie du vermutest.

Re: Writer: Diagonale Linie in Ooo3.2

Verfasst: Mo, 11.04.2011 05:17
von jona99
Jetzt habe ich mal die neuste Version Openoffice 3.3.0 runtergeladen und es mit WinXPSP3 probiert.
Da bekomme ich gleiches Ergebnis wie in Oo 3.2 und wie in Oo 2.3.