教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> 编写VB打印控制程序的几点心得

编写VB打印控制程序的几点心得

上传者:网友
|
翻新时间:2023-03-13

编写VB打印控制程序的几点心得

编写VB打印控制程序的几点心得 编写VB打印控制程序的几点心得 信息技术论文 更新:2006-4-8 阅读: 编写VB打印控制程序的几点心得

编写VB打印控制程序的几点心得

郑州解放军信息工程大学信息安全学院计算机系(450002)

白 燕 王 鹏

摘 要 本文在总结作者实际开发经验的基础上,详细介绍了VB实现高分辨率打印方法的几点心得。阐述了参数化绘图程序缩短打印程序开发时间的方法以及打印机缩放属性与窗体属性匹配使用的技巧,并总结了解决坐标定位、图形与其实际打印位置出现误差等问题的经验。

关键词 PrintForm 高分辨率打印 参数化绘图 缩放属性

Some Experiences on VB Print Control

Bai Yang, Wang Peng

Computer Science Department

University of Information and Engineering

Zhengzhou, China

Abstract: On the basis of our working experiences, we have given a detail description about VB print method of high resolution. We focus on how to shorten developing period with parameterized plot program, the match between the zoom attribute and the attribute of display window etc., which based on print program of Printer Object. In addition to this, we have introduced some experiences on dealing with position error that caused by the mismatch between font and graph on screen and that on printer.

Keywords: PrintForm, High Resolution Print, parameterized plot ,zoom attribute

1.简介

Visual Basic(VB)给用户提供了可视化编程环境,因其简单易学、功能强大而得到了广泛的应用。VB提供了两种实现打印的方法。一般在对打印质量要求不高的场合,或者是编程项目的早期开发过程中,可以直接使用VB窗体的Printform方法实现打印。用这种方法实现打印具有编程简单、易用并且功能强大的优点,它只需要通过一行代码,几乎能打印所有内容。实现的方法就是:首先将要打印的内容在屏幕上显示出来,然后开发人员只要为窗体对象激活 PrintForm ,窗体则自动将要打印的内容发送到Printer对象上,其语法格式如下:[窗体.]PrintForm 。如果窗体中包括图形,那么打印前应先置窗体的AutoRedraw属性为真。这种方法虽然简单,但是它却存在着内存消耗大、打印粗糙、速度慢等缺陷,尤其对于带有滚动条的图像,这种方法只能打印当前可视的区域。在实际应用中经常会遇到对打印质量要求很高的场合,例如打印音乐五线谱,对打印的美观、清晰度以及音符符头的位置都有很严格的要求,这种应用场合若采用VB提供的另一种基于Printer对象的打印方法则可以获得高分辨率的打印,得到很高的打印质量。在实际应用中,也可以根据实际应用情况将上述两种方法结合起来使用,即:前期工作使用PrintForm 简单的打印方法将窗体的布局定下来,后期再使用基于Printer对象的打印方法实现最终的打印工作。

2.高分辨率打印程序开发心得

⑴ Printer对象

VB的打印可以使用Printer对象。Printer对象是一个独立于打印机设备的封装,它可以代表不同的打印机,初始时,Printer对象为系统缺省的打印机,也可以使用下列语句:Set Printer=Printers

(2) (其中2代表Printers集中的第二个打印机)对打印机进行指定。

Printer对象具备例如:ColorMode、Copies、Duplex、Printquality等控制打印机特征的属性,提供了Newpage、EndDoc、KillDoc等控制打印过程的方法,以及大多数由窗体和图片框控件提供的图形属性和方法如:Currentx、Currenty、Textwidth、Textheight、Print、Pset、Line、PaintPicture和Circle等方法,它还拥有Font的所有属性。实现高分辨率的打印就是通过控制Printer对象的上述属性和方法完成的。

⑵ 直接利用Windows公用标准对话框CommonDialog控件【打印】

VB为用户提供了Windows公用标准对话框CommonDialog控件:【打开】、【文件另存为】、【颜色】、【字体】、【打印】。CommonDialog控件在Visual Basic 和Microsoft Windows动态连接库Commdlg.dll例程之间提供了接口。利用公用标准对话框【打印】开发VB的打印程序,将大大缩短程序的开发周期。应用程序中要使用公用对话框,必须首先在工具箱中添加公用对话框控件。该动作通过激活【部件】对话框,选中Microsoft Common Dialog Control6.0, 单击【确定】即可。然后再将公用控件添加到窗体上并设置相应属性,该控件具有的属性有Color、Font、Print、Help等。

VB提供mnuFilePrint_Click()过程供用户添加开发的打印程序代码。

⑶ Printer对象控制打印的基本过程

利用Printer对象开发的打印程序主要靠其提供的——NewPage (打印新的一页,CurrentX、CurrentY置为新页的左上角,可完成多页功能。)、EndDoc (将打印任务加入打印机队列)、KillDoc (取消打印任务)控制打印过程的。一般情况下,打印程序完成多页打印时会多次执行NewPage,结束时执行一次EndDoc将打印任务加入打印机队列。如果你在NewPage后,立即使用EndDoc,VB则不会打印额外的空白页。如果希望显示空白页,则可在新的一页上只使用Printer.Print “ “打印空字符即可。

为了通过Printer对象实现文本和图形的打印,获得最好的打印质量,还需要对VB控制打印机的多种属性有更深入的理解,例如打印机的坐标体系向屏幕坐标体系的转换、打印机字体尺寸的确定等。下面给出了打印程序的主框架:

Private Sub mnuFilePrint_Click()

On Error Resume Next

If ActiveForm Is Nothing Then Exit Sub

With dlgCommonDialog ‘打印机公用对话框

.DialogTitle = "打印"

.CancelError = True

.Flags = 1

Printer.FontSize = dlgCommonDialog.FontSize

‘将打印机公用对话框设置的字体大小传递给打印机

.ShowPrinter ‘ 在屏幕上显示【打印】公用对话框

If Err <> MSComDlg.cdlCancel Then

Printer.FontTransparent = False ‘初始化打印的字体为不透明

SetPrinterScale Myform ‘匹配打印机的缩放属性与窗体的属性

PrintAnywhere Printer ‘可放置用户编写的打印对象参数化例程

‘实现字符和图形的显示

Printer.NewPage ‘打印机坐标初始化

PrintAnywhere Printer ‘打印另一页的内容

Printer.NewPage ‘打印机坐标初始化

Printer.EndDoc ‘将该任务加入打印机任务队列

‘ 不打印空白页

Printer.KillDoc ‘取消当前的打印任务

End If

End With

End Sub

⑷ 参数化绘图程序

用VB开发应用程序时,如果使用参数化绘图例程进行屏幕显示程序的开发,则在开发打印程序时,就不需再另行开发代码,从而避免了大量的重复劳动,有效地缩短

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

给灾区小朋友的信
保护青蛙
期盼
出游
感谢您!爱我的人
双喜临门
我喜爱的小吃
一次特别的报道
邻居家的小弟弟
我喜欢的书
美丽的大森林
玩偶
趣事
放鞭炮
我的自画像
幼儿教师预备党员转正工作汇报
2012年12月预备党员转正申请书
转正申请书格式、内容要求
大学生预备党员入党转正申请
2012年12月大学生预备党员转正申请书
十二月预备党员转正申请
12月学生干部转正申请书
卫生监督2010预备党员转正申请书
2012年12月大三预备党员转正申请
2012年9月入党转正申请书
2012年大学生预备党员转正申请书
2012年9月大三预备党员转正申请书
2012年12月预备党员转正申请书
预备党员转正申请书
2012年9月大学生预备党员转正申请
城市轨道交通钢轨电阻测量及电耗研究
国民党的转变:有什么样的执政党就有什么样的政治
城市轨道交通的发展阶段与特征研究
国内外城市轨道交通车辆段对比研究
城市轨道交通的安全管理问题
基于对洛克自然权利思想的探析
浅析多媒体技术在高校音乐教学中的应用
论新制度主义政治学的理念转向
一种新形式的政治
谈论三线建设为当代思想政治工作提供的宝贵精神资源
论藏族舞“谐”的形态特征及其训练价值
城市轨道交通高架桥的设计及实践
试论当代中国多边外交的发展
城市轨道交通枢纽三维可视化系统的开发
城市轨道交通规划中与其它交通衔接问题的分析
《北京》第二课时教学设计
《我们成功了》第二课时教学设计
《北京》教学建议
《我们成功了》教学设计5
《欢庆》课堂实录及反思
《北京》教学设计 片断
《我们成功了》课堂实录与点评
《我们成功了》教材简说
《北京》教学设计1
《看雪》教学设计1
《欢庆》教学案例
《我们成功了》教学设计4
《我们成功了》教学建议
《北京》第二课时网络课教学设计1
《我们成功了》教学设计 片断