Innerhalb von Starbasic gibt es zwei Arten von Cursor: VisibleCursor und TextCursor.
Bei dem VisibleCursor handelt es sich um den Cursor den der Anwender auf dem Bildschirm
sieht. Um diesen zu erhalten verwendet man die Methode
myDoc.GetCurrentController.ViewCursor. Diesen kann man dann natürlich auch bewegen.
Sub MoveViewCursor
Dim myDoc as Object
Dim myViewCursor as Object
myDoc=thisComponent
myViewCursor=myDoc.GetCurrentController.ViewCursor
myViewCursor.goRight(6,false)
End sub
Der TextCursor ist virtuell und für den Anwender unsichtbar. Zusätzlich gibt es noch
den Vorteil
das man innerhalb eines Makros mehrere TextCursor verwenden kann. Hier wird oft etwas
zwischen VBA und StarBasic verwechselt. Das Range-Objekt von VBA ist eben mit diesem
TextCursor-Objekt vergleichbar und nicht mit dem Range-Objekt von StarBasic.
Ein TextCursor wird mit einer Methode erzeugt und kann dann durch Navigation entsprechend
positioniert werden.
Sub TextCursorTest
Dim myDoc as object
Dim myTextCursor as object
mDoc = thiscomponent
mytextCursor=mydoc.text.createtextcursor()
mytextcursor.goleft(6,false)
End sub
Für die Navigation beider Cursor stehen mehrer Navigationsbefehle zur Verfügung. Die
wesentlichen Unterschiede zwischen den beiden Cursor sind:
Den VisibleCursor gibt es nur einmal, beim TextCursor kann man mehrere parallel verwenden.
Die Navigationsmöglichkeiten der beiden Cursor sind verschieden.
Navigation
|
ViewCursor
|
TextCursor
|
goLeft
|
X
|
X
|
goRight
|
X
|
X
|
gotoRange
|
X
|
X
|
goDown
|
X
|
-
|
goUp
|
X
|
-
|
gotoStart
|
X
|
X
|
gotoEnd
|
X
|
X
|
jumpToFirstPage
|
X
|
-
|
jumpToLastPage
|
X
|
-
|
jumpToNextPage
|
X
|
-
|
jumpToPreviousPage
|
X
|
-
|
jumpToStarofPage
|
X
|
-
|
jumpToEndofPage
|
X
|
-
|
gotoNextWord
|
-
|
X
|
gotoPreviousWord
|
-
|
X
|
gotoStarofWord
|
-
|
X
|
gotoEndofWord
|
-
|
X
|
gotoNextParagraph
|
-
|
X
|
gotoPreviousParagraph
|
-
|
X
|
gotoStartofParagraph
|
-
|
X
|
gotoEndofParagraph
|
-
|
X
|