2011-04-25 20 views
1

感謝Rob肯尼迪的回答我的問題上how to set the Skype Chat window text.在外部應用程序的文本區域設置木-位置?

但是,每當我設置使用

SendMessage(RichEditWnd,WM_SETTEXT,0,Integer(PChar(Edit1.Text))); 

然後當我點擊Skype的聊天編輯控件中的文本,該CARRET被放置在開始並且需要點擊一下以使其再次「正確」。

是否有一個Windows消息設置carret位置?或者至少我可以用來將Carret位置設置爲文本末尾的東西? :)

回答

3

是的,有:EM_EXSETSEL

wParam0,和lParam應該是一個指針,指向包含在選擇的第一和最後一個字符結構TCharRange。你希望它們相等(即選擇零個字符)。

例如,

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

只會在豐富的編輯控制第三個字符之前設置插入符。

+0

TCharRange在什麼單位聲明? :) – Jeff 2011-04-25 12:33:52

+0

@Jeff:'RichEdit' – 2011-04-25 12:34:10

+0

順利 - 謝謝你,我的朋友! :) – Jeff 2011-04-25 12:36:17

相關問題