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

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)就可以了。