【转载】CRichEditCtrl类的LineLength方法的正确使用

来源:互联网 发布:qqgame for mac 编辑:程序博客网 时间:2024/06/05 00:56
接下来是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)); 
       ……
 }
这样就搞定了。
0 0
原创粉丝点击