烦死啦,CEdit 焦点死循环!!!十万火急

ritchalam 2010-08-13 02:49:39

各位大侠,高手,宗师,,请问一下,CEdit的EN_SETFOCUS消息是不是只要文本光标还在里面闪烁,这个消息就一直循环着啊?我在这消息中处理程序,一用断点,发现它一直在这里面循环啊,郁闷,难道不是当鼠标在它上面点标左键时才发送这焦点消息的吗?

我想问的是,CEdit的获取焦点消息( EN_SETFOCUS )到底是执行几次的啊?为什么一直循环着?

第二个问题:我在CEdit上点击了一下左键,让它获得焦点后,自动填写入了文本,比如:“烦死了”,但光标还处在CEdit的开头位置,如何让它跑到“烦死了”的最后面呆着啊?

顺便无奈下,VC的网上资料真的好少啊,一出问题,经常搜不到满意答案的,真的人才凋零了?

...全文
130 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
青稞 2010-08-14
  • 打赏
  • 举报
回复
死循环是因为你DEBUG的原因。。
wutaihua 2010-08-14
  • 打赏
  • 举报
回复
这种情况下断点肯定是不行的。断点会影响焦点。
直接用TRACE或者outputstring函数打印出来。
然后查看打印。
CEdit::SetSel(-1, -1)
晒月光的青蛙 2010-08-14
  • 打赏
  • 举报
回复
因为加了断点所以才会这样的
断点执行的时候焦点就到了vs,执行完了又到了edit控件,又会触发setfocus消息
yamwei2016 2010-08-14
  • 打赏
  • 举报
回复
程序贴出来看看!
xladykiller 2010-08-14
  • 打赏
  • 举报
回复
只 一次,
另外你加断点,一得到焦点,就弹出VC了,这样又失去焦点.你一回到程序点之,又到得焦点,又弹VC,如此循环,以至无穷无尽,天荒地老,天地合.
yanchenyu 2010-08-14
  • 打赏
  • 举报
回复
学习一下
ritchalam 2010-08-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yang79tao 的回复:]

调试加断点的情况下,你这样会有问题。
因为断点会让Edit失去焦点,退出断点后又会让Edit得到焦点,所以是死循环。
[/Quote]

谢谢热心的各位啊,确实是断点引起的,明白了,MS也不解决一下这问题,莫非MS没遇到这情况?哈哈
youngwolf 2010-08-13
  • 打赏
  • 举报
回复
调试加断点的情况下,你这样会有问题。
因为断点会让Edit失去焦点,退出断点后又会让Edit得到焦点,所以是死循环。
Eleven 2010-08-13
  • 打赏
  • 举报
回复
只会一次,就是得到得到键盘输入焦点的时候,你想要让插入符到最后,可以使用CEdit::SetSel(-1, -1);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧