CView::OnPreparePrinting
呼叫由架構,在文件或列印預覽之前。
virtual BOOL OnPreparePrinting(
CPrintInfo* pInfo
);
參數
- pInfo
為 CPrintInfo 的 [結構描述目前的列印工作。
傳回值
非零,開始列印。0,如果列印工作已取消。
備註
預設實作不做任何動作。
您必須覆寫這個函式會啟用列印和預覽列印。 DoPreparePrinting 呼叫成員函式,並傳遞 pInfo 參數,然後傳回其傳回值; DoPreparePrinting 顯示列印對話方塊並建立印表機內容。 預設值之外,如果您想要初始化具有值的列印對話方塊,請指派值給 pInfo的成員。 例如,在中,如果您知道紙張的長度,請將值傳遞給 pInfo 的 SetMaxPage 成員函式位於呼叫 DoPreparePrinting之前。 這個值會顯示在中:在列印對話方塊的範圍部分的方塊。
DoPreparePrinting 不顯示預覽列印工作的對話方塊。 如果您想要略過列印工作的列印對話方塊,請檢查 pInfo 的 m_bPreview 成員是 否 然後再將它設為 是 再將它傳遞至 DoPreparePrinting;重設為 post-schema-validation 否 。
(如果您需要執行需要表示印表機內容的 CDC 物件存取的初始化 (,,如果您需要在指定文件的長度之前知道頁面大小),請覆寫 OnBeginPrinting 成員函式。
如果您想要設定 pInfo 參數的 m_nNumPreviewPages 或 m_strPageDesc 成員的值,請在呼叫 DoPreparePrinting之後執行。 為應用程式的 .INI 檔中之值的 DoPreparePrinting 成員函式 m_nNumPreviewPages 集合和集合 m_strPageDesc 為其預設值。
範例
覆寫 OnPreparePrinting 並從覆寫的 DoPreparePrinting ,讓架構會顯示列印對話方塊並建立自己的印表機 DC。
BOOL CMyEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
return CEditView::DoPreparePrinting(pInfo);
}
如果您知道文件包含網頁的數量,在呼叫 DoPreparePrinting之前設定 OnPreparePrinting 的最大頁面。 這個架構上顯示的最大頁碼「變更為」[列印] 對話方塊。
BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
//The document has 2 pages.
pInfo->SetMaxPage(2);
return CView::DoPreparePrinting(pInfo);
}
需求
Header: afxwin.h