打印多頁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
打印對象在處理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

