This is my code to fill a TextBox using the SendMessage
function:
C := 'Hey there';
SendMessage(h1, WM_SETTEXT, 1, Integer(PChar(C)));
Now, how can I move the cursor to the end of the text?
If you really want to do this with messages take a look at:
Also there you have the complete reference for edit:
http://msdn.microsoft.com/en-us/library/ff485923%28v=VS.85%29.aspx
In code (no messages) you would do something like this:
Edit1.SelLength := 0;
Edit1.SelStart := 0; // set caret before first character
...
Edit1.SelStart := 1; // set caret before second character
...
Edit1.SelStart := Length(Edit1.Text) // set caret after the last character
With messages:
SendMessage(h1, EM_SETSEL, Length(C), Length(C));
I think your code is wrong . you have to using "EM_SETSEL" parameter . my problem solved with this code :
//Set a value for external textbox
SendMessage(h1, WM_SETTEXT, 0, Integer(PChar(C)));
//move the cursor to end of the textbox(editbox,field,...)
SendMessage(h1, EM_SETSEL, length(C), length(C));
Thank you , anyway :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With