先设定Label的AutoStretch为True,然后在OnPrint事件中写如下代码:
procedure TForm1.QRDBText5Print(sender: TObject;
var Value: String);
var
bExit : boolean;
iLen : integer;
strSource, strTemp : string;
begin
//36是栏宽。
if Length(Value) <= 36 then
exit;
strSource := Value;
Value := '';
//防止截断汉字。
while true do
begin
iLen := 1;
while iLen < 36 do
begin
if ord(strSource[iLen]) > 128 then
inc(iLen, 2)
else
inc(iLen);
end;
dec(iLen);
strTemp := Copy(strSource, 1, iLen);
//加回车。
if Value = '' then
Value := strTemp
else
Value := Value + #13 + strTemp;
strSource := Copy(strSource, iLen + 1, Length(strSource) - iLen);
if Length(strSource) <= 36 then
begin
Value := Value + #13 + strSource;
exit;
end;
end;
end;
这样就搞定。给分吧!