c语言如何用sendmessage()向另一个窗口的按钮发送消息,五、Windows子窗口控件的编辑类别—发送给编辑控件的消息...

因为用SendMessage发送给编辑控件的消息很多,并且其中的几个还将在后面POPPAD修订版本中用到,所以这里不解说所有用SendMessage发送给编辑控件的消息,只概要地说明一下。

这些消息允许您剪下、复制或者清除目前被选择的文字。使用者使用鼠标或者Shift键加上光标控件键来选择文字并进行上面的操作,这样,在编辑控件中选中的文字将被加亮:

SendMessage (hwndEdit, WM_CUT, 0, 0) ;

SendMessage (hwndEdit, WM_COPY, 0, 0) ;

SendMessage (hwndEdit, WM_CLEAR, 0, 0) ;

WM_CUT将目前选择的文字从编辑控件中移走,并将其发送到剪贴簿中;WM_COPY将选择的文字复制到剪贴簿上并保持编辑控件中的内容完好无损;WM_CLEAR将选择的内容从编辑控件中删除,但是不向剪贴簿中发送。

您也可以将剪贴簿上的文字插入到编辑控件中的光标位置:

SendMessage (hwndEdit, WM_PASTE, 0, 0) ;

您可以取得目前选择的起始位置和末尾位置:

SendMessage (hwndEdit, EM_GETSEL, (WPARAM) &iStart,

(LPARAM) &iEnd) ;

结束位置实际上是最后一个选择字符的位置加1。

您可以选择文字:

SendMessage (hwndEdit, EM_SETSEL, iStart, iEnd) ;

您还可以使用别的文字来置换目前的选择内容:

SendMessage (hwndEdit, EM_REPLACESEL, 0, (LPARAM) szString) ;

对多行编辑控件,您可以取得行数:

iCount = SendMessage (hwndEdit, EM_GETLINECOUNT, 0, 0) ;

对任何特定的行,您可以取得距离编辑缓冲区文字开头的偏移量:

iOffset = SendMessage (hwndEdit, EM_LINEINDEX, iLine, 0) ;

行数从0开始计算,iLine值为-1时传回包含游标所在行的偏移量。您可以取得行的长度:

iLength = SendMessage (hwndEdit, EM_LINELENGTH, iLine, 0) ;

并将行本身复制到一个缓冲区中:

iLength = SendMessage (hwndEdit, EM_GETLINE, iLine, (LPARAM) szBuffer) ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值