WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_LEFT|ES_AUTOHSCROLL|ES_NOHIDESEL
扩展样式为:
cs.dwExStyle|=WS_EX_CLIENTEDGE;
cs.dwExStyle|=WS_EX_NOPARENTNOTIFY;
我想实现获得集点是全选其中的文本,写有如下代码:
m_wndSearch.SetFocus();
m_wndSearch.SetSel(0,-1);
但是,各位高手,为什么没有用呢?
对于对话框中的编辑框则有用,为什么呢?
11 个解决方案
#1
m_wndSearch.SetSel(0,-1);是写在什么地方的?
#2
SetFocus()有效果没有?如果没有,那就可能是位置不对,可能在窗体还没有创建(只有对象)时执行的
#3
m_wndSearch.SetSel(0,-1)写在OnFocus处理函数中的。我设置断点,当编辑框获得焦点时,的确执行了m_wndSearch.SetSel(0,-1)的代码。就是不知为什么不显示被选中的状态。
#4
SetSel(0, 文本长度);
#5
参考这里的看看
http://www.vckbase.com/document/viewdoc/?id=469
http://www.vckbase.com/document/viewdoc/?id=469
#6
呵呵,哪个窗体的OnFocus()函数?
#7
打开CNewEdit的ClassWizard为其加上一个OnSetFocus()函数
在这个函数里SetSel(0,-1,TRUE);
在这个函数里SetSel(0,-1,TRUE);
#8
我这个EDIT控件是MainFrame的成员,不是ToolBar的成员,跟这个是不是有关系呢?
我先从CEdit中派生了一个新类叫CSearchEdit,在CSearchEdit中处理获得焦点的消息的,调用SetSel(0,-1)。这种做不行,然后,我又在处理CSearchEdit获得焦点的消息时,把消息通过SendMessage发送自定义消息给主框架,在主框加MainFrm中处理自定义消息,调用SetSel(0,-1)。可是仍然不行!
真是郁闷呀!
我先从CEdit中派生了一个新类叫CSearchEdit,在CSearchEdit中处理获得焦点的消息的,调用SetSel(0,-1)。这种做不行,然后,我又在处理CSearchEdit获得焦点的消息时,把消息通过SendMessage发送自定义消息给主框架,在主框加MainFrm中处理自定义消息,调用SetSel(0,-1)。可是仍然不行!
真是郁闷呀!
#9
你是不是希望达到这样的效果:当鼠标单击该控件时,该编辑框能够自动选中其中的文本?就像VC本身的查找、替换对话框中的编辑框一样?
如果是这样的要求,那么第一种方法应该是可行啊,奇怪。要不在该控件中的OnClick()函数中添加SetSel()函数试一试?
如果是这样的要求,那么第一种方法应该是可行啊,奇怪。要不在该控件中的OnClick()函数中添加SetSel()函数试一试?
#10
谢谢 风清高,我要实现的就是你说的效果。
我试试OnClick吧!
我试试OnClick吧!
#11
好,按风清高的方法搞定!谢谢大家,特别感谢风清高!
#1
m_wndSearch.SetSel(0,-1);是写在什么地方的?
#2
SetFocus()有效果没有?如果没有,那就可能是位置不对,可能在窗体还没有创建(只有对象)时执行的
#3
m_wndSearch.SetSel(0,-1)写在OnFocus处理函数中的。我设置断点,当编辑框获得焦点时,的确执行了m_wndSearch.SetSel(0,-1)的代码。就是不知为什么不显示被选中的状态。
#4
SetSel(0, 文本长度);
#5
参考这里的看看
http://www.vckbase.com/document/viewdoc/?id=469
http://www.vckbase.com/document/viewdoc/?id=469
#6
呵呵,哪个窗体的OnFocus()函数?
#7
打开CNewEdit的ClassWizard为其加上一个OnSetFocus()函数
在这个函数里SetSel(0,-1,TRUE);
在这个函数里SetSel(0,-1,TRUE);
#8
我这个EDIT控件是MainFrame的成员,不是ToolBar的成员,跟这个是不是有关系呢?
我先从CEdit中派生了一个新类叫CSearchEdit,在CSearchEdit中处理获得焦点的消息的,调用SetSel(0,-1)。这种做不行,然后,我又在处理CSearchEdit获得焦点的消息时,把消息通过SendMessage发送自定义消息给主框架,在主框加MainFrm中处理自定义消息,调用SetSel(0,-1)。可是仍然不行!
真是郁闷呀!
我先从CEdit中派生了一个新类叫CSearchEdit,在CSearchEdit中处理获得焦点的消息的,调用SetSel(0,-1)。这种做不行,然后,我又在处理CSearchEdit获得焦点的消息时,把消息通过SendMessage发送自定义消息给主框架,在主框加MainFrm中处理自定义消息,调用SetSel(0,-1)。可是仍然不行!
真是郁闷呀!
#9
你是不是希望达到这样的效果:当鼠标单击该控件时,该编辑框能够自动选中其中的文本?就像VC本身的查找、替换对话框中的编辑框一样?
如果是这样的要求,那么第一种方法应该是可行啊,奇怪。要不在该控件中的OnClick()函数中添加SetSel()函数试一试?
如果是这样的要求,那么第一种方法应该是可行啊,奇怪。要不在该控件中的OnClick()函数中添加SetSel()函数试一试?
#10
谢谢 风清高,我要实现的就是你说的效果。
我试试OnClick吧!
我试试OnClick吧!
#11
好,按风清高的方法搞定!谢谢大家,特别感谢风清高!