感谢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设置到文本末尾的东西? :)
答案 0 :(得分:3)
是的,有:EM_EXSETSEL
。
wParam
应为0
,lParam
应为指向包含所选内容中第一个和最后一个字符的TCharRange
结构的指针。您希望它们相等(即选择零个字符)。
例如,
var
cr: TCharRange;
begin
cr.cpMin := 2;
cr.cpMax := 2;
SendMessage(RichEdit1.Handle, EM_EXSETSEL, 0, integer(@cr));
将在Rich Edit控件中的第三个字符之前设置插入符号。