???
求助!
求助!
解决方案 »
- 菜单项前显示图标(有黑影)???如何解决 高手指点~~~
- 再请教一个问题
- 百分求解--服务器socket池 自动断开连接而不用池的话没事
- ocx的使用与机器设置是否有关的问题
- 关于TreeView的一个小问题,今天结帖
- 高分求如何捕捉 WebBrowser.OnQuit事件?
- 紧急!在线等待!越快越好!关于实现下一跳地址的小程序
- 如何使我的程序暂停1秒钟,使用Sleep(1000)还是有其他更好的方法?
- 我把书翻遍了都不知怎做,救救小生!!!!
- 如何实现BHO拦截onsubmit?
- 这是什么异常 First-chance exception in ADOInterface.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
- 请问:#define ASPG 后面不跟任何东西是什么意思?
方法1
功能:设置多行编辑框的第N行文本,不足N行的自动追加空行至N行
参数:text 要设置的新串
nRow 要设置的行,自0开始。
void CMyEdit;:SetTextN(CString &text, int nRow)
{
CString str;
CString before, after;
int row;
const char *find;
GetWindowText(str);//取edit所有文本
find=str;
for(row=0; row<nRow; row++)//查找第nRow行位置
{
find=strchr(find, '\n');
if(find==NULL)
break;
find++;
}
if(find!=NULL)//找到,则替换该行
{
before=str.Left(find-(LPTCSTR)str);
find=strchr(find, '\n');
if(find)
after=str.Right(str.Leght()-(find-(LPTCSTR)str))
str=before+text+after;
}
else //追加空行,和新行内容
{
while(row<nRow)
{
str+='\n';
row++;
}
str+=text;
}
//设置edit文本
SetWindowText(str);
} 方法2:
用CListBox替换CEdit
可以直接替换相应行,但编辑时要做另外处理,比较复杂,可找到例子。
如VC IDE中的菜单Tools-->Options...中的Directories页面
老使用setwindowtext行吗?
能否只删除中间的一段?
然后调用 CRichEditCtrl::ReplaceSel(_T("")) 用空串把它替换掉
OK