我想在CRichEditCtrl中删除一整行,pCtrl为CRichEditCtrl的对象指针代码如下:
int i = pCtrl->LineIndex(0);
int k = pCtrl->LineIndex(0) + pCtrl->LineLength(0);
pCtrl->SetSel( i, k );
pCtrl->ReplaceSel("");
为了简单,这段代码只删除第一行,可是实际执行结果却不如预想的一样
经调试发现LineLength()返回的长度不正确
有没有DX知道是为什么啊
int i = pCtrl->LineIndex(0);
int k = pCtrl->LineIndex(0) + pCtrl->LineLength(0);
pCtrl->SetSel( i, k );
pCtrl->ReplaceSel("");
为了简单,这段代码只删除第一行,可是实际执行结果却不如预想的一样
经调试发现LineLength()返回的长度不正确
有没有DX知道是为什么啊
char data[]={"00 11 22 55 44 44 77 11 22 55 88 77 44 55\r\n11 11 22 55 44 11 22 55 44 11 25\r\n44 55 55 44 77 \r\n22 11122 33 11 11 22 11 22\r\n"};
pCtrl->SetSel(-1,-1);
pCtrl->ReplaceSel(data);
int i = pCtrl->LineIndex(0);
int k = pCtrl->LineLength(0);
int j = pCtrl->LineIndex(0) + k;
pCtrl->SetSel(i,j);
pCtrl->ReplaceSel("");
运行时他删除的并不是一整行,只有其中的一部分
char data[]={"00 11 22 55 44 44 77 11 22 55 88 77 44 55\n11 11 22 55 44 11 22 55 44 11 25\r\n44 55 55 44 77 \n22 11122 33 11 11 22 11 22\n"};
如果\n前面的字符数只要多于0x0c,返回的长度就一直是0x0c
为什么会这样呢