自动换行:
procedure TQuickRep1.QRLabel1Print(sender: TObject;
var Value: String);
var
iLen : integer;
strSource, strTemp : string;
begin
if Length(Value)<=TCustomControl(Sender).Width/7 then
exit;
strSource:=Value;
Value:='';
while truedo
begin
iLen:=1;
while iLen<TCustomControl(Sender).Width/7do
begin
if ord(strSource[iLen])>126 then
inc(iLen,2)
else
inc(iLen);
end;
dec(iLen);
if ord(strSource[iLen-1])>126 then
dec(iLen,2);
strTemp:=Copy(strSource,1,iLen);
if Value='' then
Value:=Trim(strTemp)
else
begin
Value:=Trim(Value+#13+strTemp);
end;
Delete(strSource,1,iLen);
if Length(strSource)<=TCustomControl(Sender).Width/7 then
begin
Value:=Trim(Value+#13+strSource);
exit;
end;
end;
end;