在外部应用程序jtextarea中设置插入位置?

时间:2011-04-25 12:19:27

标签: windows delphi window-handles

感谢Rob Kennedy对how to set the Skype Chat window text.

上我的问题的回答

但是,每当我使用

设置文本时
SendMessage(RichEditWnd,WM_SETTEXT,0,Integer(PChar(Edit1.Text)));

然后,当我点击Skype中的Chat Edit控件时,将carret放在开头,需要点击一下才能再次“正确”。

是否有用于设置carret位置的Windows消息?或至少可以用来将Carret Position设置到文本末尾的东西? :)

1 个答案:

答案 0 :(得分:3)

是的,有:EM_EXSETSEL

wParam应为0lParam应为指向包含所选内容中第一个和最后一个字符的TCharRange结构的指针。您希望它们相等(即选择零个字符)。

例如,

var
  cr: TCharRange;
begin
  cr.cpMin := 2;
  cr.cpMax := 2;
  SendMessage(RichEdit1.Handle, EM_EXSETSEL, 0, integer(@cr));

将在Rich Edit控件中的第三个字符之前设置插入符号。