您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:20 来源:未知

本文章共3252字,分3页,当前第2页,快速翻页:
 

stry = stry rowlab * 240
txt = "标准名称:"
dd = prnt11(strx, stry, 10, txt, 10)
dd = prnt11(strx 1000, stry, 10, Trim(Text4), 38)
stry = stry rowlab * 240
txt = "英文名称:"
逆风者
dd = prnt11(strx, stry, 10, txt, 10)
dd = prnt11(strx 1000, stry, 10, Text5, 72)
Printer.EndDoc
End Sub

---- 注: Prnt11函数原形:prnt11(X As Integer, Y As Integer, Font As Single, Txt As String, Val As Integer),其各参数含义如下:

---- X、Y为待打印字符串左上角起始座标;

---- Font为字体大小;

---- Txt为待打印字符串;

---- Val为字符串打印折行长度。

---- 实例2:直接打印表格式窗体显示的多记录多字段,往往因某些字段的字节太多而造成纸张宽度不足。以下CmdPrnt2的Click事件中的代码,实现了对上述MSFGrid1表格记录的打印:

Private Sub CmdPrnt2_Click()
Dim fnt As Single
Dim pp As Integer
Dim stry As Integer, strx As Integer
Dim stry1 As Integer,
strx1 As Integer, linw As Integer
Dim page1 As Integer, p As Integer,
gridrow As Integer, ii As Integer
p = 0
ii = 1 'ii记录MSFGRID1表格同一记录内字段最大打印行
pp = 0 '开始页码
ss$ = "中国出入境检验检疫标准目录检索STEMS 2000" ' 表头
Static a(4) As Integer
kan = 0
a(2) = 1680
a(3) = 2800
a(4) = 5300
page1 = 46 '定义每页行数
  strx = 200
  strx1 = 200
  stry = 1400
  stry1 = 1400
  linw = 240 '定义行宽
  fnt = 10 '定义字体大小
  For i = 2 To 4
    kan = kan a(i)
  Next
  gridrow = Datdatact1.Recordset.RecordCount
  If gridrow = 0 Then
   MsgBox "无满足条件记录打印!"
   Exit Sub
End If
  Printer.FontName = "黑体"
  dd = prnt11(3300, 700, fnt, ss$, 26) '打印标题
  dd = prnt11(500, stry - 250, fnt, "标准号", 26)
  dd = prnt11(2690, stry - 250, fnt, "标准名称", 26)
  dd = prnt11(6690, stry - 250, fnt, "英文名称", 26)
  Printer.Line (strx - 20, stry - 30)-(10460, stry - 30)
  Printer.FontName = "宋体"
  For j = 1 To gridrow '打印gridrow条记录
    MSFGrid1.Row = j
    strx = strx1
    For i = 2 To 4 '假设只打印2-3 列
     MSFGrid1.Col = i
     dd = prnt11(strx, stry, fnt,
MSFGrid1.Text, IIf(i = 3, 13, 55))
     If ii < rowlab Then
'ii记录同一记录内字段最大打印行
      ii = rowlab
     End If
     strx = strx a(i)
    Next
    p = p ii
    rowlab = ii
    ii = 1 '重新初始化
    If p > page1 Then
      p = 0
      strx = strx1
      For n = 2 To 4
       strx = strx a(n)
      Next
      pp = pp 1
      stry = stry rowlab * linw
      foot$ = "第" CStr(pp) "页"
      dd = prnt11(strx / 2, stry 3 * linw, 10, foot$, 26)
      stry = stry1
      Printer.NewPage
      Printer.FontName = "黑体"
      dd = prnt11(3300, 700, fnt, ss$, 26)
      dd = prnt11(500, stry - 250, fnt, "标准号", 26)
      dd = prnt11(2690, stry - 250, fnt, "标准名称", 26)
      dd = prnt11(6690, stry - 250, fnt, "英文名称", 26)
      Printer.Line (-20, stry - 30)-(10460, stry - 30)
      '打印起始线
      Printer.FontName = "宋体"
      strx = strx1
     Else
      stry = stry rowlab * linw
     End If
    Next
    If p < page1 Then
 
本文章更多内容<<上一页 - 1 - 2 - 3 - 下一页>>
相关文章

利用VB进行多媒体程序设计初步
怎样使用有密码的 Access 数据库
Visual Basic影音控制
熟悉VB的集成开发环境
Visual Basic 工 程 管 理
VB取磁盘序列号卷标和文件系统类型
VB中使窗体右上角的X按钮失效
Visual Basic动画编程技术
用数据库保存VB程序的用户设置
在VB中存取数据库中的图片
VB驱动pcAnyWhere进行文件传输
创建ActiveX接口移植Excel工作表
怎样关闭一个正在运行的程序
VB COM基础讲座之编译的实例选项
解决Visual Basic非正常退出一例
在VB中调用CHM 帮助的几种方法
如何使用 VB 编写自动反安装的程序
用VB 设计条形码轻印刷系统
VB应用程序中实现“查找和替换”功能
显示多媒体信息

相关评论


本文章所属分类:首页 VB

  热门关键字: