Sign in to follow this  
Followers 0
supersonic

How to jump to the end of a text in an edit control?

5 posts in this topic

#1 ·  Posted (edited)

Hi!

I'm trying to jump to the end of the text in an edit control...

Is there a way to find the last character position or to set

the position of the cursor in an edit control?

I'm looking for a function like "_GUICtrlEdit_SetCurPos()"...

Greets,

-supersonic.

Edited by supersonic

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

supersonic,

here you go:

#Include <GUIConstantsEx.au3>
#Include <GUIEdit.au3>
#Include <ScrollBarConstants.au3>
#Include <WindowsConstants.au3>

$sFile = RegRead('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir') & '\include\changelog.txt'

GUICreate('MyGUI', 400, 300)
$hEdit = GUICtrlCreateEdit('', 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
GUISetState()
$iEnd = FileGetSize($sFile)

_GUICtrlEdit_SetText($hEdit, FileRead($sFile))
_GUICtrlEdit_SetSel($hEdit, $iEnd, $iEnd)
_GUICtrlEdit_Scroll($hEdit, $SB_SCROLLCARET)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

M23

Edit: This works when you already have text in the edit - you just find out how much:

#Include <GUIConstantsEx.au3>
#Include <GUIEdit.au3>
#Include <ScrollBarConstants.au3>
#Include <WindowsConstants.au3>

$sFile = RegRead('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir') & '\include\changelog.txt'

GUICreate('MyGUI', 400, 300)
$hEdit = GUICtrlCreateEdit('', 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
GUISetState()

_GUICtrlEdit_SetText($hEdit, FileRead($sFile))

$iEnd = StringLen(GUICtrlRead($hEdit))

_GUICtrlEdit_SetSel($hEdit, $iEnd, $iEnd)
_GUICtrlEdit_Scroll($hEdit, $SB_SCROLLCARET)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
Edited by Melba23

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Thank you!

Edited by supersonic

Share this post


Link to post
Share on other sites

Cool idea! Works pretty well... :)

You can also do it by sending Ctrl + End to the edit control with ControlSend.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0