我一般是自己手动折行,提供我的一个函数给你,
function strWrap(const ostr:string;
const mint:integer):string;
var
loopin,nextin,linein,stepin :integer;
tempst :string;
begin
{字符串折行}
tempst := '';
nextin := length(ostr);
loopin := 1;
linein := 0;
if(mint > 0) then
while (loopin <= nextin)do
begin
stepin := 1+integer(ByteType(ostr, loopin) <> mbSingleByte);
linein := linein +stepin;
if(ostr[loopin] = #13)
or(ostr[loopin] = #10) then
begin
linein := 0;
end else
if(linein > mint) then
begin
tempst := tempst +#13#10;
linein := 0;
end;
tempst := tempst +copy(ostr, loopin, stepin);
loopin := loopin +stepin;
end;
case (tempst='') of
true: result := oStr;
else
result := tempst;
end;
end;