8.1.12 Welche Formen des Cursors gibt es?
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