SendMessage
これは、関数を使用してTextBoxに入力するための私のコードです。
C := 'Hey there';
SendMessage(h1, WM_SETTEXT, 1, Integer(PChar(C)));
では、どうすればカーソルをテキストの最後に移動できますか?
SendMessage
これは、関数を使用してTextBoxに入力するための私のコードです。
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));
ともあれ、ありがとう :)