这是我使用SendMessage函数填充TextBox的代码:

  C := 'Hey there';
  SendMessage(h1, WM_SETTEXT, 1, Integer(PChar(C)));

现在,如何将光标移动到文本的末尾?

最佳答案

如果您真的想通过消息来执行此操作,请查看:

  • EM_SETSEL
  • EM_EXSETSEL

  • 另外,您还具有完整的编辑引用:

    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));
    

    10-07 20:27