这应该是一个Windows的多语言支持功能,如果是一个中间没有空格的
字符串,Windows会把它作为一个单词来进行处理,而同一个单词一般
不会进行分行的。如果真要分行那真是您老的不幸啊!

解决方案 »

  1.   

    老兄?我觉得是BUG了,因为我根据DELPHI本身的帮助(他有一个这方面的提示步骤)去做也是白搭,很烦躁的呢,把我给还哭了
      

  2.   

    用TQRDBText办不到,我有一个报表控件,可以随心所欲地打印。
    [email protected]
      

  3.   

    你用的一定是Delphi5以上的版本,在Delphi4中QRDBText是可以换行的。不过关系也不大,可以用以下方法解决:
    1、首先,做一个函数控制字符串换行;
    Function MitiLine (Str:String;N:Integer):String;
    var L,I:Integer;
        Strs:String;
    Begin
        L:=Length(Str);
        L:=Round(L/N+0.5);
        If L=0 Then
        begin
              Result:=Str;
              Exit;
        End;
        For I:=1 To L Do Strs:=Strs+Copy(Str,N*(I-1)+1,N)+#13;
        Result:=Strs;
    End;其中:Str是要控制的字符串,N是一行显示的字符数(注意汉字为双字符)。2、然后,在报表打印前调用该函数。
    如:
      QRDBText1.Caption:=MitiLine(QRDBText1.Caption,24);
      Preview;
    这样就可以了。