龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

VB编程步步高-打印篇(一)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
打印多页RichText 打印对象在处理RichTextBox时由于忽视了RichText代码将不会工作得很好。为了打印RichTextBox,要使用SelPrint命令,但是SelPrint不是非常得友好,它按照自己的方式打印然后产生
打印多页RichText
  
  打印对象在处理RichTextBox时由于忽视了RichText代码将不会工作得很好。为了打印RichTextBox,要使用SelPrint命令,但是SelPrint不是非常得友好,它按照自己的方式打印然后产生退纸动作。为了打印多页RichText,要找到每一页的开始和结束点,然后依此设置SelStart和SelLength,最后使用SelPrint打印出每一页。以下是工作的每一个步骤:
  
  1、使用SaveFile命令保存编辑版本的文件。
  
  2、转换编辑版本为打印版本:
  
  遍历这个文档,修改SelIndent和SelRightIndent的数值,使之适合于打印机(注意:编辑时的缩进数值对于屏幕是合适的,但不适用于打印机)。
  做些其他的修改,比如:添加页眉,消除行号。
  3、使用SelPrint循环一次打印一个页面。这里,计算行数是一个技巧,找到LFCRs是容易的,但是,也必须要计算一下行缠绕,它也算在了行统计中,以及绝对不允许发生的页面溢出情况。
  
  4、使用SelRTF=""删除打印版本。
  
  5、使用LoadFile重新启动编辑版本。
  
  打印MSFlexGrid
  
  这里有一个快速打印MSFlexGrid控件内容的方法:
  
  Printer.PaintPictureMSFlexGrid_Name.Picture,0,0
  Printer.EndDoc
  
  如果想打印满页面的整个长度,请在前面添加下面2个语句:
  
  Dimold_widthasInteger
  MSFlexGrid_Name.width=printer.width
  
  然后,再在尾部添加:
  
  MSFlexGrid_Name.width=old_width->

精彩图集

赞助商链接