关于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); 否则将会出现莫名其妙的问题。

你可能感兴趣的:(关于CEdit或者CWnd的setSel问题。)