我在Winapi/MFC中遇到了next mystic thing,我有一个编辑框,我必须在Tab,Lclick,Rclick,Mclick等等上选择它的内容。
最明显的方法是处理SETFOCUS消息并调用SetSel(0,-1),它应该选择所有文本。但是它不起作用!
怎么了?我尝试了谷歌,似乎每个人都覆盖Lclilks或处理父窗口中的SetSel,但从封装的角度来看,这是错误的,而且多次点击(用户想要在文本中间插入一些东西)会中断,等等。
为什么我的方法不起作用,我尝试了10种不同的方法,试图捕获所有可能的焦点消息,在MSDN上查找信息,但都没有像预期的那样有效。
此外,我需要在焦点上重新创建carret,这似乎也不起作用。
SETFOCUS消息被困好了。如果我添加__asm int 3,它每次都会中断。
似乎是create carret和setsel被吞没了。
发布于 2010-12-23 17:49:47
在处理WM_SETFOCUS时发布编辑EM_SETSEL。鼠标输入可能是在焦点切换之后处理的。或者发布一条用户消息,并在收到消息时创建插入符号,然后进行选择。
https://stackoverflow.com/questions/4517486
复制相似问题