可以直接使用DrawText:
procedure TForm1.Button1Click(Sender: TObject);
const
Str = 'DrawText(Canvas.Handle, PChar(Text), Length(Text), Rect, Flags);This is a test This is a test This is a test This is a test This is a test This is a test ';
var
R: TRect;
begin
R.Left := 0;
R.Top := 0;
R.Right := Width;
R.Bottom := Height;
DrawText(Canvas.Handle, Str, Length(Str), R, DT_WORDBREAK);
end;