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_dwFlags
和 m_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::OnPrepareDC
並 CView::OnPrint
一次,每次指定這個成員的不同值;其值範圍從 所 GetFromPage
傳回的值到 所 GetToPage
傳回的值。 在您的和覆CView::OnPrepareDC
CView::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