当前位置: 网学 > 编程文档 > VB > 正文

VB运用程序里面打印条形码地两种办法

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
  Else           x = x + intWidthCU * 2         End If       Next j     Next i     注释: 恢复打印机 ScaleMode     Printer.ScaleMode = intOldScaleMode     注释: 恢复打印机 DrawWidth     Printer.DrawWidth = intOldDrawWidth     注释: 恢复打印机 Font     Set Printer.Font = fntOldFont  End Sub    最理想的情况是将它做成一个控件,在控件中提供一个打印方法,该方法实现与上     那个过程大致相同,只是不能在控件中直接使用VB的Printer对象,否则VB会将你在控件中的打印输出处理为一个单独的页面,而是应该将Printer.hDc传给它,通过调用那些需要指定 HDC 的Windows API函数实现与容器的打印输出在一个页面上,比如我们可以这样定义这个控件的打印方法:  注释: PrintIt 方法将对应的条形码输出到缺省打印机  Public Sub PrintIt(ByVal PrintDC As Long, _     Optional ByVal intXPos As Integer = 0, _     Optional ByVal intYPos As Integer = 0, _     Optional ByVal intPrintHeight As Integer = 10)     既然不能使用Printer对象,那么画线和输出文字也不能使用Printer对象的Line和Print方法,在我们的程序中至少要申明以下三个Windows API函数:  ‘ 移动画笔的位置  Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long   ‘ 从画笔的当前位置到(x,y)画一条线  Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long  ‘ 在(x,y)处输出一个字符串  Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long  ‘ MoveToEx() 函数需要的参数  Private Type POINTAPI     xp As Long     yp As Long  End Type  Dim papi As POINTAPI  画线操作为(原来的Printer.Line函数):  MoveToEx PrintDC, x + k, y, papi  LineTo PrintDC, x + k, y + intHeight + 1  打印字符为(原来的Printer.Print函数):  TextOut PrintDC, x,y + intHeight, Mid(strBC, i + 1, 1), 1  
  • 上一篇资讯: vb征途外挂源代码
  • 下一篇资讯: vb用excel实现完美打印
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号