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

字號:

打印多頁Rich Text
     打印對象在處理RichTextBox時由于忽視了Rich Text代碼將不會工作得很好。為了打印RichTextBox,要使用SelPrint命令,但是SelPrint不是非常得友好,它按照自己的方式打印然后產(chǎn)生退紙動作。為了打印多頁Rich Text,要找到每一頁的開始和結(jié)束點,然后依此設(shè)置SelStart和SelLength,最后使用SelPrint打印出每一頁。以下是工作的每一個步驟:
     1、使用SaveFile命令保存編輯版本的文件。
     2、轉(zhuǎn)換編輯版本為打印版本:
    遍歷這個文檔,修改SelIndent和SelRightIndent的數(shù)值,使之適合于打印機(注意:編輯時的縮進(jìn)數(shù)值對于屏幕是合適的,但不適用于打印機)。
    做些其他的修改,比如:添加頁眉,消除行號。
     3、使用SelPrint循環(huán)一次打印一個頁面。這里,計算行數(shù)是一個技巧,找到LFCRs是容易的,但是,也必須要計算一下行纏繞,它也算在了行統(tǒng)計中,以及絕對不允許發(fā)生的頁面溢出情況。
     4、使用SelRTF=""刪除打印版本。
     5、使用LoadFile重新啟動編輯版本。
     打印MSFlexGrid
     這里有一個快速打印MSFlexGrid控件內(nèi)容的方法:
     Printer.PaintPicture MSFlexGrid_Name.Picture, 0, 0
    Printer.EndDoc
     如果想打印滿頁面的整個長度,請在前面添加下面2個語句:
     Dim old_width as Integer
    MSFlexGrid_Name.width=printer.width
     然后,再在尾部添加:
     MSFlexGrid_Name.width=old_width