关于CEdit或者CWnd的setSel问题。
·
今天做语音识别的东东,发现通过CEdit的setSel设置选中,但是怎么也没有被选中的效果。
后面单独新建一个按钮,然后设置事件。setSel(0,5)这么简单的语句也不行。然后看了MSDN的帮助文档也没有提到相关的问题。
竟然MSDN 没有提,那应该是很简单的问题。想到这选中其实是高亮的问题。涉及外观,于是是属性栏里面找看哪个设置会影响到这问题。
发现有CEdit有这么一项 No Hide Selection ,即使没有焦点也保持选中。在想自己的点击Button设置选中的,应该是焦点问题。于是设置成ture,重新点击按钮正确选中。
还有一种解决方案是:在setSel前加入setFocus
总结:以后凡事都要先看官方文档的api里面关于remark部分,如果没有提到 那应该是很简单的问题。细心的想一想,多试 很快就能做出来。
不要老是百度,google 的找答案!
还有,setSel传递的参数是int类型。如果是ULONG类型必须强制转换为int 类型,如 m_ctrlSpeakText.SetSel((int)start,(int)end); 否则将会出现莫名其妙的问题。
更多推荐



所有评论(0)