是用文本框+线条画呢?还是有什么控件做的?还有就是如何解决打印表单的问题?

解决方案 »

  1.   

    我是直接用Print画,首先画表格,之后填入文字
      

  2.   

    给你一段我的,有点象看天书,不过你可以用一张A4纸试试效果  '打印初始化
      PoutFont = 16 '定义字体大小
      Printer.FontName = "宋体" '定义字体
      
      '打印打印标题
      Printer.CurrentX = 2000
      Printer.CurrentY = 900
      Printer.FontBold = True
      Printer.FontSize = 20
      Printer.Print "标题自定义好了"
        
      '打印空表格
      '打印7条横线(X2>X1 Y1=Y2)
      Printer.Line (1000, 2000)-(10000, 2000)
      Printer.Line (1000, 2700)-(10000, 2700)
      Printer.Line (1000, 3400)-(10000, 3400)
      Printer.Line (1000, 4100)-(10000, 4100)
      
      Printer.Line (1000, 11000)-(10000, 11000)
      Printer.Line (1000, 11700)-(10000, 11700)
      Printer.Line (1000, 12400)-(10000, 12400)
      
      '打印3条长竖线(X1=X2 Y2>Y1)
      Printer.Line (1000, 2000)-(1000, 12400)
      Printer.Line (5500, 2000)-(5500, 12400)
      Printer.Line (10000, 2000)-(10000, 12400)
      '打印6条短竖线(X1=X2 Y2>Y1)
      Printer.Line (2650, 2000)-(2650, 4100)
      Printer.Line (7150, 2000)-(7150, 4100)
      
      Printer.Line (4400, 2000)-(4400, 2700)
      Printer.Line (8800, 2000)-(8800, 2700)
      
      Printer.Line (3600, 11000)-(3600, 12400)
      Printer.Line (8100, 11000)-(8100, 12400)
      
      '打印数据
      Call PrintTXT(1200, 2200, PoutFont, "姓    名")
    Private Sub PrintTXT(X As Long, Y As Long, font As Single, txt As String)
      Printer.CurrentX = X
      Printer.CurrentY = Y
      Printer.FontBold = False
      Printer.FontSize = font
      Printer.Print txt
    End Sub
      

  3.   

    推荐用excel套打!
    客户可灵活设置,而且不用改源代码!
      

  4.   

    发票只需要达文字就可以了
    把发票扫描一下,作成Form背景图片,调整Form大小跟图片一样然后拖几个Label上去就可以了 :)很快,很简单,呵呵,直接打印From
    打印的时候把背景图撤掉就可以了
      

  5.   

    这种东西我以前不用VB做 用PB
      

  6.   

    采用对Excel的自动化处理,根据事先的设定从数据库重读取数据输出到Excel定义好的表中打印输出。
      

  7.   

    在PrintForm前先
    Form1.Picture = LoadPicture("")
    就可以了
      

  8.   

    用excel or word做模板阿....然后把数据替换到其中不是很好吗,又快捷.
      

  9.   

    要看你的发票复杂程度了。我比较喜欢EXCEL