我现在要用VB画一个表格!表格要这样的,根据纸张的大小来显示各列的数据!如果列超出纸张大小则折行打印!像这样!比如
行一: aa    bb    cc    dd    ee
行二: a1    a2    a3    a4    a5
比如纸张只能显示下到CC这一行,那么将如下显示:
行一:aa    bb    cc
行二:dd    ee
行三:a1    a2    a3
行四:a4    a5
像这样的折行打印!请问各位有没有什么好的办法?谢谢!

解决方案 »

  1.   

    建议用多个Label1数组控件组成表格,画出来的难控制(大小、对齐等)
      

  2.   

    使用drawtext进行显示和打印,该函数支持字符串的长度超过指定的矩形时的自动换行。
      

  3.   

    先参考下面的代码
    '输出一段文字
    Sub PrintText(ByVal Text As String)
        If Printer.CurrentX + Printer.TextWidth(Text) > Printer.ScaleWidth Then
            '如果 当前X + 文字宽度 > 可打印宽度,则换行
            Printer.Print
        End If
        '不换行输出
        Printer.Print Text;
    End Sub
    你既然输出表格,那么各列的宽度应该是固定的,可以很方便地计算出每列的左右坐标,如果超过 ScaleWidth,就换行从 X=0 开始。