共用方式為


CPrintInfo 結構

儲存列印或列印預覽作業的相關信息。

語法

struct CPrintInfo

成員

公用方法

名稱 描述
CPrintInfo::GetFromPage 傳回要列印的第一頁數目。
CPrintInfo::GetMaxPage 傳回檔最後一頁的編號。
CPrintInfo::GetMinPage 傳回檔第一頁的編號。
CPrintInfo::GetOffsetPage 會傳回在合併 DocObject 列印作業中要列印之 DocObject 專案第一頁之前的頁數。
CPrintInfo::GetToPage 傳回列印的最後一頁數目。
CPrintInfo::SetMaxPage 設定文件最後一頁的數目。
CPrintInfo::SetMinPage 設定檔第一頁的編號。

公用資料成員

名稱 描述
CPrintInfo::m_bContinuePrinting 包含旗標,指出架構是否應該繼續列印迴圈。
CPrintInfo::m_bDirect 包含旗標,指出是否要直接列印檔(但不顯示[列印] 對話框)。
CPrintInfo::m_bDocObject 包含旗標,指出正在列印的檔是否為 DocObject。
CPrintInfo::m_bPreview 包含旗標,指出檔是否正在預覽。
CPrintInfo::m_dwFlags 指定 DocObject 列印作業。
CPrintInfo::m_lpUserData 包含使用者建立結構的指標。
CPrintInfo::m_nCurPage 識別目前正在列印的頁面數目。
CPrintInfo::m_nJobNumber 指定作業系統為目前列印作業指派的作業編號
CPrintInfo::m_nNumPreviewPages 識別預覽視窗中顯示的頁數;1 或 2。
CPrintInfo::m_nOffsetPage 指定合併 DocObject 列印作業中特定 DocObject 第一頁的位移。
CPrintInfo::m_pPD 包含用於 [列印] 對話框之物件的指標 CPrintDialog
CPrintInfo::m_rectDraw 指定定義目前可用頁面區域的矩形。
CPrintInfo::m_strPageDesc 包含頁碼顯示的格式字串。

備註

CPrintInfo 是結構,沒有基類。

架構會在每次選擇 Print 或 Print Preview 命令時建立 物件 CPrintInfo ,並在命令完成時終結它。

CPrintInfo 包含整個列印作業的相關信息,例如要列印的頁面範圍,以及列印作業的目前狀態,例如目前正在列印的頁面。 某些資訊會儲存在相關聯的 CPrintDialog 物件中;這個物件包含使用者在 [列印] 對話框中輸入的值。

物件 CPrintInfo 會在列印程序期間,在架構和檢視類別之間傳遞,並用來在兩者之間交換資訊。 例如,架構會藉由將值指派給 m_nCurPage 的成員 CPrintInfo,通知檢視類別要列印的檔哪一頁;檢視類別會擷取值並執行指定頁面的實際列印。

另一個範例是,在列印檔之前,無法知道文件的長度。 在此情況下,每次列印頁面時,檢視類別會測試文件結尾。 到達結尾時,檢視類別會將的成員CPrintInfo設定m_bContinuePrinting為 FALSE;這會通知架構停止列印迴圈。

CPrintInfo是由列在 「另請參閱」底下的成員函式CView所使用。如需Microsoft基礎類別庫所提供之列印架構的詳細資訊,請參閱框架 Windows檔/檢視架構,以及列印列印:多頁檔一文。

繼承階層架構

CPrintInfo

需求

標頭: afxext.h

CPrintInfo::GetFromPage

呼叫此函式以擷取要列印的第一頁數目。

UINT GetFromPage() const;

傳回值

要列印的第一頁數目。

備註

這是使用者在 [列印] 對話框中所指定的值,而且會儲存在 CPrintDialog 成員所 m_pPD 參考的物件中。 如果使用者尚未指定值,則預設值為檔的第一頁。

CPrintInfo::GetMaxPage

呼叫此函式以擷取檔最後一頁的編號。

UINT GetMaxPage() const;

傳回值

檔最後一頁的編號。

備註

這個值會儲存在 CPrintDialog 成員所參考的物件中 m_pPD

CPrintInfo::GetMinPage

呼叫此函式以擷取檔第一頁的編號。

UINT GetMinPage() const;

傳回值

檔第一頁的編號。

備註

這個值會儲存在 CPrintDialog 成員所參考的物件中 m_pPD

CPrintInfo::GetOffsetPage

呼叫此函式,從 DocObject 用戶端列印多個 DocObject 專案時擷取位移。

UINT GetOffsetPage() const;

傳回值

在合併的 DocObject 列印作業中列印之 DocObject 專案第一頁之前的頁數。

備註

這個值是由 m_nOffsetPage 成員參考。 當您使用其他使用中檔列印為 DocObject 時,檔的第一頁會編號為 m_nOffsetPage 值 + 1。 只有在值為TRUE時m_bDocObject,成員m_nOffsetPage才有效。

CPrintInfo::GetToPage

呼叫此函式以擷取要列印的最後一頁數目。

UINT GetToPage() const;

傳回值

要列印的最後一頁數目。

備註

這是使用者在 [列印] 對話框中所指定的值,而且會儲存在 CPrintDialog 成員所 m_pPD 參考的物件中。 如果使用者尚未指定值,則預設值為檔的最後一頁。

CPrintInfo::m_bContinuePrinting

包含旗標,指出架構是否應該繼續列印迴圈。

備註

如果您要進行列印時間分頁,您可以在文件結尾到達之後,在 覆寫 CView::OnPrepareDC 中將此成員設定為 FALSE。 如果您已使用 SetMaxPage 成員函式指定列印作業開頭的文件長度,就不需要修改此變數。 成員 m_bContinuePrinting 是 BOOL 類型的公用變數。

CPrintInfo::m_bDirect

如果 [列印] 對話框將略過直接列印,架構會將此成員設定為 TRUE;否則為 FALSE。

備註

當您從殼層列印或使用命令標識碼完成列印時,通常會略過 [列印] 對話框ID_FILE_PRINT_DIRECT。

您通常不會變更此成員,但如果您變更該成員,請在呼叫 CView::D oPreparePrinting 之前變更它,以覆寫 CView::OnPreparePrinting

CPrintInfo::m_bDocObject

包含旗標,指出正在列印的檔是否為 DocObject。

備註

除非此旗標為 TRUE,否則數據成員 m_dwFlagsm_nOffsetPage 無效。

CPrintInfo::m_bPreview

包含旗標,指出檔是否正在預覽。

備註

這是由架構所設定,視使用者執行哪一個命令而定。 列印對話框不會針對列印預覽作業顯示。 成員 m_bPreview 是 BOOL 類型的公用變數。

CPrintInfo::m_dwFlags

包含指定 DocObject 列印作業之旗標的組合。

備註

只有在數據成員 m_bDocObject 為TRUE時才有效。

旗標可以是下列其中一或多個值:

  • PRINTFLAG_MAYBOTHERUSER

  • PRINTFLAG_PROMPTUSER

  • PRINTFLAG_USERMAYCHANGEPRINTER

  • PRINTFLAG_RECOMPOSETODEVICE

  • PRINTFLAG_DONTACTUALLYPRINT

  • PRINTFLAG_FORCEPROPERTIES

  • PRINTFLAG_PRINTTOFILE

CPrintInfo::m_lpUserData

包含使用者建立結構的指標。

備註

您可以使用此選項來儲存您不想儲存在檢視類別中的列印特定資料。 成員 m_lpUserData 是 LPVOID 類型的公用變數。

CPrintInfo::m_nCurPage

包含目前頁面的數目。

備註

架構會針對檔的每個頁面呼叫 CView::OnPrepareDCCView::OnPrint 一次,每次指定這個成員的不同值;其值範圍從 所 GetFromPage 傳回的值到 所 GetToPage傳回的值。 在您的和覆CView::OnPrepareDCCView::OnPrint寫中使用這個成員來列印檔的指定頁面。

第一次叫用預覽模式時,架構會讀取這個成員的值,以判斷應該一開始預覽檔的哪個頁面。 您可以在 覆寫 CView::OnPreparePrinting 中設定此成員的值,以在進入預覽模式時維護使用者目前在檔中的位置。 成員 m_nCurPage 是UINT類型的公用變數。

CPrintInfo::m_nJobNumber

指出操作系統為目前列印作業指派的作業編號。

備註

如果作業尚未列印,則此值可能會SP_ERROR(也就是說,如果 CPrintInfo 對像是新建構且尚未用來列印),或啟動作業時發生錯誤。

CPrintInfo::m_nNumPreviewPages

包含預覽模式中顯示的頁數;它可以是 1 或 2。

備註

成員 m_nNumPreviewPages 是UINT類型的公用變數。

CPrintInfo::m_nOffsetPage

包含合併 DocObject 列印作業中特定 DocObject 第一頁前面的頁數。

CPrintInfo::m_pPD

包含物件的指標 CPrintDialog ,用來顯示列印作業的 [列印] 對話框。

備註

成員 m_pPD 是宣告為 之指標的 CPrintDialog公用變數。

CPrintInfo::m_rectDraw

以邏輯座標指定頁面的可用繪圖區域。

備註

您可能會想要在 覆 CView::OnPrint寫 的 中參考此內容。 您可以使用這個成員來追蹤列印頁首、頁尾等等后,哪些區域仍可供使用。 成員 m_rectDraw 是類型的 CRect公用變數。

CPrintInfo::m_strPageDesc

包含格式字串,用來在列印預覽期間顯示頁碼;此字串包含兩個子字串,一個用於單頁顯示,一個用於雙頁顯示,每一個以 '\n' 字元終止。

備註

架構使用 「Page %u\nPages %u-%u\n」 作為預設值。 如果您想要不同的頁碼格式,請在覆寫 CView::OnPreparePrinting中指定格式字串。 成員 m_strPageDesc 是類型的 CString公用變數。

CPrintInfo::SetMaxPage

呼叫此函式以指定檔最後一頁的數目。

void SetMaxPage(UINT nMaxPage);

參數

nMaxPage
檔最後一頁的頁碼。

備註

這個值會儲存在 CPrintDialog 成員所參考的物件中 m_pPD 。 如果在列印檔之前知道文件的長度,請從覆寫 CView::OnPreparePrinting呼叫此函式。 如果文件的長度取決於使用者在 [列印] 對話框中指定的設定,請從 覆寫 CView::OnBeginPrinting呼叫此函式。 如果在列印檔之前不知道文件的長度,請使用 m_bContinuePrinting 成員來控制列印迴圈。

範例

請參閱 CView::OnPreparePrinting 的範例

CPrintInfo::SetMinPage

呼叫此函式以指定檔第一頁的數目。

void SetMinPage(UINT nMinPage);

參數

nMinPage
檔第一頁的編號。

備註

頁碼通常從 1 開始。 這個值會儲存在 CPrintDialog 成員所參考的物件中 m_pPD

另請參閱

MFC 範例 DIBLOOK
階層架構圖表
CView::OnBeginPrinting
CView::OnEndPrinting
CView::OnEndPrintPreview
CView::OnPrepareDC
CView::OnPreparePrinting
CView::OnPrint