Die Implementierung hat seine Fehler: nicht gerade schnell, hohe CPU-Belastung, bei zu starker Verkleinerung (Schriftgröße 2 oder 4 glaube ich) klappt das Vergrößern nicht mehr richtig ... aber ansonsten funktioniert das Ganze wie von Word her bekannt. Die Funktionen habe ich dann noch Strg+8 + Strg+9 - wie in Word - zugeordnet, um diese schnell verwenden zu können.
REM ***** BASIC *****
Sub DecreaseSelected
Dim objDoc As Object
Dim objSelections As Object
Dim objSel As Object
Dim objCursor As Object
Dim iCount As Integer
Dim oTextElementEnum As Object
Dim oTextElement As Object
objDoc = ThisComponent
objSelections = objDoc.getCurrentSelection()
For iCount = 0 To objSelections.Count-1
objSel = objSelections(iCount)
objCursor = objDoc.Text.createTextCursorByRange(objSel)
If Not objCursor.IsCollapsed() Then 'is not emtpy
oTextElementEnum = objCursor.createEnumeration()
While oTextElementEnum.hasMoreElements()
oTextElement = oTextElementEnum.nextElement
'verkleinern um 1 pt.
oTextElement.CharHeight = oTextElement.CharHeight-1
Wend
End If
Next
End Sub
Sub IncreaseSelected
Dim objDoc As Object
Dim objSelections As Object
Dim objSel As Object
Dim objCursor As Object
Dim iCount As Integer
Dim oTextElementEnum As Object
Dim oTextElement As Object
objDoc = ThisComponent
objSelections = objDoc.getCurrentSelection()
For iCount = 0 To objSelections.Count-1
objSel = objSelections(iCount)
objCursor = objDoc.Text.createTextCursorByRange(objSel)
If Not objCursor.IsCollapsed() Then 'is not emtpy
oTextElementEnum = objCursor.createEnumeration()
While oTextElementEnum.hasMoreElements()
oTextElement = oTextElementEnum.nextElement
'verkleinern um 1 pt.
oTextElement.CharHeight = oTextElement.CharHeight+1
Wend
End If
Next
End Sub
Keine Kommentare :
Kommentar veröffentlichen