BOOL CRichEditTestDlg::OnInitDialog() { ...... //其他初始化代码 CString str; str=_T("hello_1\nhello_2"); m_richedit.SetSel(-1, -1); //在RichEditTestDlg.h里面CRichEditCtrl m_richedit; m_richedit.ReplaceSel(str); m_richedit.SetSel(-1, -1); //选中文本最后的位置 return TRUE; } 在vs2010编译连接后,出来的对话框里面有两行文字(即"hello_1\nhello_2"),奇怪的是为什么是全选状态(即记事本的Ctrl+A效果),但是我明明用了m_richedit.SetSel(-1, -1);这一句,就是让光标只选中最后,而不是m_richedit.SetSel(0, -1);选中所有行,谁知道怎么才能取消全选状态啊?
最后找到了原因,m_richedit.ShowScrollBar(SB_VERT,FALSE);就OK了
MFC的CRichEditCtrl控件,用了函数ReplaceSel(str);怎样才能取消全部选中?
最新推荐文章于 2023-08-17 20:06:53 发布