导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2003/5/15 19:24:36
标题:
各位帮忙啊!!这个问题得不到回答我是不会走的!!!!
浏览:2468
加入我的收藏
楼主:
为了使LABEL达到自动换行的目的,可以设置其属性wordwrap为TRUE,但单单这样好象还不行,我又设置其minwideth为一个值,这样它就可以自动换行了, 但是在QUICKREP控件上放置的QRLABEL也有wordwrap属性,我怎么设置也达不到自动换行的目的,请教各位大侠帮看一下是怎么回事!(我想让它自动换为2行) 我已经看过各位的回答了,有的误解了我的意思,有的说的方法又不行,再麻烦大家帮我看一下,最好直接告诉我怎么做,我的程序就剩下这一个问题了!!!!! 怎样设置让它自动换行,我想一定有办法的,直接和我联系也行,我的电话:13077678453。 谢谢了! ----------------------------------------------
----------------------------------------------
新手,想得到您的帮助!
作者:
2003/5/15 19:44:45
1楼:
不好意思 我帮不了你 我试过了 不行! 能不能用别的方法呀! 如用Label直接替代 或用别的方法
----------------------------------------------
作者:
2003/5/15 22:12:42
2楼:
这个帖我回答过了啊。 我认为即使QRLABLE能够自动折行,他的折行也是不标准的,因为他会自动把一整串汉字或则字母认为是一个整体而不分割(不知道我说清楚了没有,:)),以下是我的折行代码(由于代码在公司,我是凭记忆写的,可能有错): function changeline(mstring:string;mnum:integer):string; //本函数用于返回一个字符串 //mstring:就是你要折行的lable的caption mnum:你一行要打印的字节数 var i:integer; begin for i:=0 to mnum-1 do begin if mstring[i+1]<=127 then i:=i+1 else i:=i+2; end; if i=mnum then result:=copy(mstring,1,mnum) else result:=copy(mstring,1,mnum-1); end; 根据这个函数返回每一行要打印的字符,然后呢,可以根据每一行打印的字符数计算出一共要打印出几行,然后我就动态生成几个QRLABLE,位置摆好,然后依次,第一个QRLABLE的CAPTION就是返回的第一个字符串,依次类推。 如果有更好的办法也请告诉我 另:要不用fastreport吧,我这两天正在研究这个,文档上说是可以自动折行的,就是不知道效果怎样。
----------------------------------------------
-