共用方式為


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_nNumPreviewPagesm_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

請參閱

參考

CView 類別

階層架構圖

CPrintInfo 結構

CView::DoPreparePrinting

CView::OnBeginPrinting

CView::OnPrepareDC

CView::OnPrint