还有点小问题,文本不能小于2行。你再完善一下吧。
procedure TForm1.Button2Click(Sender: TObject);
var
sInfo : tagSCROLLINFO;
begin
sInfo.cbSize := SizeOf(TScrollInfo);
sInfo.fMask := SIF_RANGE;
RichEdit1.Height := 0;
GetScrollInfo(Richedit1.Handle, SB_VERT, sInfo);
RichEdit1.Height := sInfo.nMax + RichEdit1.Font.Size;
end;
sInfo.nmax是滚动条的高度。这个方法要比去判断文本的高度方便的多。
因为无论怎样,滚动条的高度是和文本的高度一样的。