这里的真正大小是包括屏幕客户区以外(需要滚动才能见到的)的那部分的
例如一共100行的文本,中间有各种不同的字体(高度不定),目前控件的大小为300*600
由于内容多,不可能在客户区全部显示出来,大部分必然的要通过滚动才能看见
我想得到的是这100行一共要占用多大的地方,而不是那300*600想要多少分只要我拿得出来您尽管吱声,
我的QQ:46436473 
e-mail:[email protected] 或者 [email protected]

解决方案 »

  1.   

    算出总行数AllLines,算出显示出来的行数ShowLines  
    总面积= (300*600)*(AllLines/ShowLines)
      

  2.   

    试试
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    DoubleBuffered:=true;
    end;
      

  3.   

    var
      vScrollInfo: TScrollInfo;
    begin
      vScrollInfo.cbSize := SizeOf(vScrollInfo);
      vScrollInfo.fMask := SIF_ALL;
      GetScrollInfo(RichEdit1.Handle, SB_VERT, vScrollInfo);
      label1.Caption :='MAX:'+inttostr(vScrollInfo.nMax);
    end;
    窗体上放一个richedit,一个label,一个按钮
    button下执行上边代码,label1上就可以显示出richedit的最大高度,最好用rtf文件试,rtf文件里设置不同高度的字体,结果马上就可以看出来了
      

  4.   

    还有一点RICHEDIT的滚动条必须显示出来
      

  5.   

    结贴了,特别要感谢:cdsgajxlp(起名很难),在QQ上提出了参考滚动条的办法,
    同时感谢:cn2002boy()给出了详细的办法和代码
    感谢大家的支持,另外建议大家在回答问题的时候,还是最好先看明白问题,因此个别回答我就不给分了