Это мой код для заполнения TextBox с помощью функции SendMessage
:
C := 'Hey there';
SendMessage(h1, WM_SETTEXT, 1, Integer(PChar(C)));
Теперь, как я могу переместить курсор в конец текста?
Это мой код для заполнения TextBox с помощью функции SendMessage
:
C := 'Hey there';
SendMessage(h1, WM_SETTEXT, 1, Integer(PChar(C)));
Теперь, как я могу переместить курсор в конец текста?
Если вы действительно хотите сделать это с сообщениями, взгляните на:
Также у вас есть полная ссылка для редактирования:
http://msdn.microsoft.com/en-us/library/ff485923%28v=VS.85%29.aspx
В коде (без сообщений) вы бы сделали что-то вроде этого:
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
С сообщениями:
SendMessage(h1, EM_SETSEL, Length(C), Length(C));
Я думаю, что ваш код неверен. вы должны использовать параметр "EM_SETSEL". моя проблема решена с помощью этого кода:
//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));
В любом случае, спасибо :)