CEdit::Linelength的用法

接下来是CRichEditCtrl类的LineLength方法的正确使用。
顾名思义,LineLength方法的作用是获取CRichEditCtrl的某一行的长度。该函数的原型如下 int   LineLength(int   nLine   =   -1)   const;  这里的nLine是Index,也就是索引。我今天使用时理所当然地认为该索引就是行索引,就这样使用:
  for (i=0;i < nLineCount;i++)
 {
       nLineLength = pmyRichEditCtrl->LineLength(i); 
       ……
 }
结果得到的总是第一行的长度,超级郁闷,百思不得其解。
还得诉诸网络啊~
事实上这里参数nLine的含义跟我们平常接触到的大多数概念不完全一样,它并不是行数,而是该rich edit control中的字符位置,根据此位置计算位于第几行,该函数就获取的是第几行的长度,如果给出的值为-1,则获取的是当前行(光标所在行)的长度。正确的写法应该是:
 for (i=0;i < nLineCount;i++)
 {
       nLineLength = pmyRichEditCtrl->LineLength(pmyRichEditCtrl->LineIndex(i));  
       ……
 }
这样就搞定了。

你可能感兴趣的:(CEdit::Linelength的用法)