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