需要做一个类似Visual Studio里面的输出窗口,比如编译的时候
显示编译信息的那个窗口,那个窗口,比如如果你选中了一些东西
虽然还在继续编译,也就是不停地在窗口末尾添加字符串,但是你
选中的东西不会变,但是如果用普通方法实现在EDIT或RICHEDIT
里面添加字符串,就需要选中字符串,然后替换,但是这就破坏了
用户已经选择的东西,我需要的是这个OUTPUT窗口在末尾添加东西
但是不会改变选区.
怎么实现?
显示编译信息的那个窗口,那个窗口,比如如果你选中了一些东西
虽然还在继续编译,也就是不停地在窗口末尾添加字符串,但是你
选中的东西不会变,但是如果用普通方法实现在EDIT或RICHEDIT
里面添加字符串,就需要选中字符串,然后替换,但是这就破坏了
用户已经选择的东西,我需要的是这个OUTPUT窗口在末尾添加东西
但是不会改变选区.
怎么实现?
int nLen=m_rich.GetWindowTextLength ();
m_rich.SetSel(nLen,nLen);
m_rich.ReplaceSel("新追加的文本");
m_rich.ReplaceSel("\r\n"); 揭帖给分
提醒一下, 如果是readonly的风格, 以上代码是无效的. 还是用SetWindowText吧
比如
当前选择的是 10,20
但是如果这样替换
int nLen=m_rich.GetWindowTextLength ();
m_rich.SetSel(nLen,nLen);
m_rich.ReplaceSel("新追加的文本");
m_rich.ReplaceSel("\r\n");
那选择的就边了.
我要的是添加之后,选择的内容还是
10,20添加不会改变选中的文本,我是这个意思.to2 楼:不是我结贴率低,你看看我一共问过几个问题,都没人能回答出来,不是不结贴。
我估计这个也没什么能回答出来了
要判断后才替换. 先把string保存下来....
m_rich.GetSel(cr);
int nLen=m_rich.GetWindowTextLength (); m_rich.SetSel(nLen,nLen);
m_rich.ReplaceSel("新追加的文本");
m_rich.ReplaceSel("\r\n");
m_rich.SetSel(cr);