首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CEdit单击全选文本,该怎么处理

2012-02-25 
CEdit单击全选文本在VC中,当鼠标单击编辑框时,想要全选编辑框中的文本,响应CEdit的EM_SETFOCUS消息,在响应

CEdit单击全选文本
在VC中,当鼠标单击编辑框时,想要全选编辑框中的文本,响应CEdit的EM_SETFOCUS消息,在响应函数中
利用CEdit成员函数SetSel(0, -1)达不到效果,但利用m_edit.PostMessage(EM_SETSEL, 0, -1)向该编辑框发送消息可行,不知为什么,请高手帮助解答一下

[解决办法]
“响应CEdit的EM_SETFOCUS消息”,这个概念就是错误的,EM_SETFOCUS是程序往控件发的消息,然后控件自己有处理的函数,因此你拦截该消息后,PostMessage的消息在处理完本消息后排队处理,这是实现你的效果的一种假象。应该响应控件发给程序的通知消息,也就是EN_开头的那些,好像是EN_GETFOCUS,然后在里面调用CEdit成员函数SetSel(0, -1)就可以了。

热点排行