谁能帮我解决我的DELPHI6。0折行问题我送他200分!!!!!(200分)

  • 主题发起人 主题发起人 闲云野鹤
  • 开始时间 开始时间
你要是只要在打印时折行,写点代码就行了,不过显示时不折行。
 
我使用过QR3.06很好用,支持中文折行。
QR3.08也好用
 
喂!我说楼上的,有没有地址给一个,让我下一个试试呀,不然我怎么知道
是不是适合我用呢?呵呵呵,先谢了
 
我是这样做的:
设TQRDBText的AutoSize:=False;AutoStretch:=True;WordWrap:=True;
在OnPrint加入:
procedure TXXForm.XXPrint(sender: TObject;
var Value: String);
var
bExit : boolean;
iLen : integer;
strSource, strTemp : string;
begin
//32是栏宽。
if Length(Value) <= 32 then
exit;
strSource := Value;
Value := '';
//防止截断汉字。
while truedo
begin
iLen := 1;
while iLen < 32do
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) <= 32 then
begin
Value := Value + #13 + strSource;
exit;
end;
end;
end;
 
楼上的方法对。
 
天那我要的是控件啊~~~~~~~~
 
可以试试ReportMachine,中文换行没问题
http://reportmachine.delphibbs.com
 
whf:
我先去试试,成功一定将两百分献上
 
天啊。为了折行问题。你等了足足半年。 有半年时间,手工改造上面的控件富富有余了
呵呵。 还是勤快点好,尽量少用不熟悉的控件。自己改造控件比较好
 
是 的,对于折行而言,ReportMachine是可以的,我刚用这个做了报表。
论坛 :www.pcjingning.com有下载。
能否只对超过长度的单条记录进行折行?
能否只对超过长度的单条记录进行折行?
可以,设置文本框:Stretched=True;
wordwrap=True
设置文本框所在的栏:Stretched=True;
Breaked=True
能否文本框的大小自动调整,折行的文本框高度变高,其它不变!

这样设置后,高度会自动变化
//选自论坛问题。
 
王寒松 哈哈哈哈,是啊是啊,只是没时间,我不只在做程序,最近还在做效果图所以,呵呵
没办法,懒是懒了一点,谢谢指教,
 
如果你要显示的字段是text型(sql server)那么可以用‘QRDBRichText’控件,
只要把AutoStretch设为true就行了
 
王寒松兄!不过我还是的要,因为得把分给帮了我的人吧,否则我不成了骗子了吗?呵呵
 
使用Quantumgrid显示数据表,
使用ExpressPrintSystem来打印。绝无折行问题。
202.117.210.31有下的。
 
用FASTREPORT自动折行就可以了。
 

Similar threads

D
回复
0
查看
840
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部