如何计算RichEdit中可视文本的行数,有例子代码最好!

解决方案 »

  1.   

    光标移到最后一行
    getsel(n,n);//取得char的index为n
    linefromchar//返回当前行nline
    GetFirstVisibleLine//返回最上面可视行nvline;
    nCount = nline - nvline;//即可视总行数此方法比较笨。如果知道行高h的话,就比较方便。
    m_edit.GetRect(&rt);
    nCount = rt/h;(其中会有点误差,要自己订正)
    不过,求行高,难求,我不能解决。行高又跟字体大小相关,
    但又不是字体的LOGFONT structure中的LONG lfHeight,偶也郁闷~~
      

  2.   

    补充:RichEdit在最上面和下面,又会有不完整行出现