SelectTextAreaText - Cursor on the left Side?

BlitzMax Forums/BlitzMax GUI Programming/SelectTextAreaText - Cursor on the left Side?

The Forum Archive is locked. These are the original blitzbasic.com forums, kept so their posts can still be read and searched. No new topics, replies or edits can be made here. To join the conversation, head over to the Blitz3D+ forums.

Hi there!
I have a problem with the SelectTextAreatText command.
If i use it, the cursor position will be on the right Selectionside but i want it on the left.
How can i realize it?

Here is some Code:
SuperStrict
Framework BRL.Win32MaxGUI
Import BRL.EventQueue
Import BRL.StandardIO

Local window:TGadget = CreateWindow("Window",320,320,480,480)
Local text:TGadget = CreateTextArea(0,0,window.clientwidth(),window.clientheight(),window)

text.setlayout 1,1,1,1
ActivateGadget text
SetTextAreaText text,"   Line 1~n   Line2~n   Line3"
SetGadgetFilter text,FilterKey,text

Repeat
   WaitEvent()
Until EventID()=EVENT_WINDOWCLOSE

Function FilterKey:Int(event:TEvent,context:Object)
   Local this:TGadget
   Local id:Int,key:Int,mods:Int
   id=event.id
   key=event.data
   mods=event.mods
   this=TGadget(context)
   If id=EVENT_KEYDOWN
      If key=KEY_HOME
         Local cursorpos:Int = TextAreaCursor(this)
         Local pos:Int = TextAreaChar(this,TextAreaLine(this,cursorpos))
         Local line:String = TextAreaText(this,TextAreaLine(this,cursorpos),1,TEXTAREA_LINES)
		 Local sellen:Int = TextAreaSelLen(this)
         For Local i:Int=0 Until line.length
            If Not IsSpace(line[i])
			   i:+pos
               If i<>cursorpos
                  If mods=1
					 SelectTextAreaText this,i,0
                     SelectTextAreaText this,i,cursorpos-i+sellen
                  ElseIf mods=0
                     SelectTextAreaText this,i,0,TEXTAREA_CHARS
                  Else
                     Return 1
                  EndIf
               Else
                  If mods=1
					 SelectTextAreaText this,pos,0
                     SelectTextAreaText this,pos,cursorpos-pos+sellen
                  ElseIf mods=0
                     SelectTextAreaText this,pos,0,TEXTAREA_CHARS
                  Else
                     Return 1
                  EndIf
               EndIf
               Exit
            EndIf
         Next
         Return 0
      EndIf
   EndIf
   Return 1
EndFunction

Function IsSpace:Byte(char:Byte)
   Return char<=32 And char<>"~n"[0]
EndFunction

Navigate with the cursor is like hell if its on the right selectionside (after you use SHIFT+HOME) while pressing UP and DOWN.

Hope for help.


Greeze,
FOODy



---
Sorry for my bad english ;)