2009-06-23 113 views
5

我開發了我自己的Report Control,它只是在控制窗口的客戶端DC的CDC上繪製文本。我也有打印功能。報告輸出直接發送到打印機。但是,我想在報表實際打印之前讓用戶知道輸出。實現我自己的打印預覽?

我不能使用MFC的打印預覽架構來做到這一點,因爲我的項目沒有使用doc/view架構。我可以自己創建一個打印預覽窗口嗎? MFC如何處理這個問題?在屏幕上顯示打印機輸出時是否需要進行特殊處理或記住?我讀過MFC使用2個DC進行打印預覽。如果我想要定製打印預覽,我是否也需要這樣做?

您的意見非常感謝! tia。

P.S.我使用Visual Studio 6,沒有選擇將其更改爲新版本,就像我無法添加文檔/視圖支持一樣。

回答

0

打印預覽不是那麼特別。這意味着您必須呈現屏幕(或位圖),否則您將呈現給打印機DC。這主要是指使用頁面大小,併爲prev/next頁面提供UI控件。

0

我已經tweeked這code爲了編譯爲靜態庫。它用於基於對話框的應用程序。
如果你不需要特殊的功能,它可以爲你工作。

我不得不挖掘MFC機制來添加額外的功能,但最終我放棄了它。如果您瞭解其他編程語言,請嘗試使用該語言查找打印預覽控件,將其製作爲DLL並從MFC應用程序中使用它。

例如,我發現Delphi的NicePreview控件,它的工作,對我來說,精美

0

如果您設法以RTF格式將輸出打印到文件並將其顯示在屏幕上,是否可以解決問題?

0

在MFC中有一個類CPreviewView。也許你可以找到一種方法來實例化它沒有MDI結構。

否則,無論您在打印機DC上進行何種繪製,您都可以簡單地在屏幕上繪畫。請記住,您可能需要將其縮小以降低dpi。