打印多頁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->