CPrintInfo – struktura
Ukládá informace o úloze tisku nebo náhledu.
Syntaxe
struct CPrintInfo
Členové
Veřejné metody
Název | Popis |
---|---|
CPrintInfo::GetFromPage | Vrátí číslo první stránky, která se vytiskne. |
CPrintInfo::GetMaxPage | Vrátí číslo poslední stránky dokumentu. |
CPrintInfo::GetMinPage | Vrátí číslo první stránky dokumentu. |
CPrintInfo::GetOffsetPage | Vrátí počet stránek předcházejících první stránce položky DocObject, která se vytiskne v kombinované tiskové úloze DocObject. |
CPrintInfo::GetToPage | Vrátí číslo poslední stránky, která se vytiskne. |
CPrintInfo::SetMaxPage | Nastaví číslo poslední stránky dokumentu. |
CPrintInfo::SetMinPage | Nastaví číslo první stránky dokumentu. |
Veřejné datové členy
Název | Popis |
---|---|
CPrintInfo::m_bContinuePrinting | Obsahuje příznak označující, jestli má architektura pokračovat ve smyčce tisku. |
CPrintInfo::m_bDirect | Obsahuje příznak označující, jestli se dokument tiskne přímo (bez zobrazení dialogového okna Tisk). |
CPrintInfo::m_bDocObject | Obsahuje příznak označující, jestli je dokument vytištěný objekt DocObject. |
CPrintInfo::m_bPreview | Obsahuje příznak označující, jestli se dokument náhleduje. |
CPrintInfo::m_dwFlags | Určuje operace tisku DocObject. |
CPrintInfo::m_lpUserData | Obsahuje ukazatel na strukturu vytvořenou uživatelem. |
CPrintInfo::m_nCurPage | Určuje číslo stránky, která se právě vytiskne. |
CPrintInfo::m_nJobNumber | Určuje číslo úlohy přiřazené operačním systémem pro aktuální tiskovou úlohu. |
CPrintInfo::m_nNumPreviewPages | Určuje počet stránek zobrazených v okně náhledu; buď 1, nebo 2. |
CPrintInfo::m_nOffsetPage | Určuje posun první stránky konkrétního DocObjectu v kombinované tiskové úloze DocObject. |
CPrintInfo::m_pPD | Obsahuje ukazatel na CPrintDialog objekt použitý pro dialogové okno Tisk. |
CPrintInfo::m_rectDraw | Určuje obdélník definující aktuální použitelnou oblast stránky. |
CPrintInfo::m_strPageDesc | Obsahuje formátovací řetězec pro zobrazení čísla stránky. |
Poznámky
CPrintInfo
je struktura a nemá základní třídu.
Architektura vytvoří objekt CPrintInfo
pokaždé, když je vybrán příkaz Print nebo Print Preview a po dokončení příkazu ho zničí.
CPrintInfo
obsahuje informace o tiskové úloze jako celku, například o rozsahu stránek, které se mají vytisknout, a o aktuálním stavu tiskové úlohy, například o aktuálně vytištěné stránce. Některé informace jsou uloženy v přidružené CPrintDialog objektu; tento objekt obsahuje hodnoty zadané uživatelem v dialogovém okně Tisk.
Objekt CPrintInfo
se předává mezi architekturou a třídou zobrazení během procesu tisku a slouží k výměně informací mezi těmito dvěma. Architektura například informuje třídu zobrazení, která stránka dokumentu se má vytisknout přiřazením hodnoty m_nCurPage
členovi CPrintInfo
; třída zobrazení načte hodnotu a provede skutečný tisk zadané stránky.
Dalším příkladem je případ, kdy délka dokumentu není známa, dokud se nevytiskne. V takovém případě se testy tříd zobrazení pro konec dokumentu při každém vytištění stránky. Po dosažení konce třída zobrazení nastaví m_bContinuePrinting
člena CPrintInfo
na HODNOTU NEPRAVDA. To informuje architekturu, aby zastavila smyčku tisku.
CPrintInfo
používá členské funkce CView
uvedené v části Viz také. Další informace o architektuře tisku, kterou poskytuje knihovna tříd Microsoft Foundation, naleznete v tématu Rámová okna a Architektura dokumentů/zobrazení a články Tisk a tisk: Vícestránkové dokumenty.
Hierarchie dědičnosti
CPrintInfo
Požadavky
Hlavička: afxext.h
CPrintInfo::GetFromPage
Voláním této funkce načtěte číslo první stránky, která se má vytisknout.
UINT GetFromPage() const;
Návratová hodnota
Číslo první stránky, která se má vytisknout.
Poznámky
Toto je hodnota zadaná uživatelem v dialogovém okně Tisk a je uložena v objektu CPrintDialog
m_pPD
, na který odkazuje člen. Pokud uživatel nezadá hodnotu, výchozí hodnota je první stránka dokumentu.
CPrintInfo::GetMaxPage
Voláním této funkce načtěte číslo poslední stránky dokumentu.
UINT GetMaxPage() const;
Návratová hodnota
Číslo poslední stránky dokumentu
Poznámky
Tato hodnota je uložena v objektu CPrintDialog
odkazovaném m_pPD
členem.
CPrintInfo::GetMinPage
Voláním této funkce načtěte číslo první stránky dokumentu.
UINT GetMinPage() const;
Návratová hodnota
Číslo první stránky dokumentu
Poznámky
Tato hodnota je uložena v objektu CPrintDialog
odkazovaném m_pPD
členem.
CPrintInfo::GetOffsetPage
Voláním této funkce načtěte posun při tisku více položek DocObject z klienta DocObject.
UINT GetOffsetPage() const;
Návratová hodnota
Počet stránek před první stránkou položky DocObject, která se vytiskne v kombinované tiskové úloze DocObject.
Poznámky
Na tuto hodnotu odkazuje m_nOffsetPage
člen. První stránka dokumentu bude číslovat m_nOffsetPage
hodnotu + 1 při tisku jako DocObject s jinými aktivními dokumenty. Člen m_nOffsetPage
je platný pouze v případě, že m_bDocObject
je hodnota PRAVDA.
CPrintInfo::GetToPage
Voláním této funkce načtěte číslo poslední stránky, která se má vytisknout.
UINT GetToPage() const;
Návratová hodnota
Číslo poslední stránky, která se má vytisknout.
Poznámky
Toto je hodnota zadaná uživatelem v dialogovém okně Tisk a je uložena v objektu CPrintDialog
m_pPD
, na který odkazuje člen. Pokud uživatel nezadá hodnotu, výchozí hodnota je poslední stránka dokumentu.
CPrintInfo::m_bContinuePrinting
Obsahuje příznak označující, jestli má architektura pokračovat ve smyčce tisku.
Poznámky
Pokud provádíte stránkování v době tisku, můžete tento člen nastavit na HODNOTU FALSE v přepsání CView::OnPrepareDC
po dosažení konce dokumentu. Tuto proměnnou nemusíte upravovat, pokud jste zadali délku dokumentu na začátku tiskové úlohy pomocí SetMaxPage
členské funkce. Člen m_bContinuePrinting
je veřejná proměnná typu BOOL.
CPrintInfo::m_bDirect
Architektura nastaví tento člen na TRUE, pokud dialogové okno Tisk bude vynecháno pro přímý tisk; JINAK NEPRAVDA.
Poznámky
Dialogové okno Tisk se obvykle vynechá při tisku z prostředí nebo při tisku pomocí ID příkazu ID_FILE_PRINT_DIRECT.
Obvykle tento člen nezměníte, ale pokud ho změníte, změňte ho před voláním CView::D oPreparePrinting v přepsání CView::OnPreparePrinting.
CPrintInfo::m_bDocObject
Obsahuje příznak označující, jestli je dokument vytištěný objekt DocObject.
Poznámky
Členové m_dwFlags
dat a m_nOffsetPage
jsou neplatné, pokud tento příznak není TRUE.
CPrintInfo::m_bPreview
Obsahuje příznak označující, jestli se dokument náhleduje.
Poznámky
To je nastaveno rozhraním v závislosti na tom, který příkaz uživatel spustil. Dialogové okno Tisk se nezobrazuje pro úlohu náhledu tisku. Člen m_bPreview
je veřejná proměnná typu BOOL.
CPrintInfo::m_dwFlags
Obsahuje kombinaci příznaků určujících operace tisku DocObject.
Poznámky
Platné pouze v případě, že datový člen m_bDocObject
má hodnotu TRUE.
Příznaky můžou být jedna nebo více následujících hodnot:
PRINTFLAG_MAYBOTHERUSER
PRINTFLAG_PROMPTUSER
PRINTFLAG_USERMAYCHANGEPRINTER
PRINTFLAG_RECOMPOSETODEVICE
PRINTFLAG_DONTACTUALLYPRINT
PRINTFLAG_FORCEPROPERTIES
PRINTFLAG_PRINTTOFILE
CPrintInfo::m_lpUserData
Obsahuje ukazatel na strukturu vytvořenou uživatelem.
Poznámky
Můžete ho použít k ukládání dat specifických pro tisk, která nechcete ukládat do třídy zobrazení. Člen m_lpUserData
je veřejná proměnná typu LPVOID.
CPrintInfo::m_nCurPage
Obsahuje číslo aktuální stránky.
Poznámky
Architektura volá CView::OnPrepareDC
pro každou stránku dokumentu a CView::OnPrint
jednou zadává jinou hodnotu pro tohoto člena pokaždé; jeho hodnoty jsou v rozsahu od hodnoty vrácené GetFromPage
touto vrácené GetToPage
. Tento člen můžete použít v přepsání CView::OnPrepareDC
a CView::OnPrint
vytisknout zadanou stránku dokumentu.
Při prvním vyvolání režimu náhledu načte architektura hodnotu tohoto člena, aby určila, která stránka dokumentu má být na začátku náhledu. Hodnotu tohoto člena můžete nastavit v přepsání CView::OnPreparePrinting
tak, aby se při zadávání režimu náhledu zachovala aktuální pozice uživatele v dokumentu. Člen m_nCurPage
je veřejná proměnná typu UINT.
CPrintInfo::m_nJobNumber
Určuje číslo úlohy přiřazené operačním systémem pro aktuální tiskovou úlohu.
Poznámky
Tato hodnota může být SP_ERROR, pokud se úloha ještě nevytiskla (to znamená, že pokud CPrintInfo
je objekt nově vytvořený a ještě nebyl použit k tisku), nebo pokud při spuštění úlohy došlo k chybě.
CPrintInfo::m_nNumPreviewPages
Obsahuje počet stránek zobrazených v režimu náhledu; může to být buď 1, nebo 2.
Poznámky
Člen m_nNumPreviewPages
je veřejná proměnná typu UINT.
CPrintInfo::m_nOffsetPage
Obsahuje počet stránek předcházejících první stránce konkrétního Objektu DocObject v kombinované tiskové úloze DocObject.
CPrintInfo::m_pPD
Obsahuje ukazatel na CPrintDialog
objekt použitý k zobrazení dialogového okna Tisk pro tiskovou úlohu.
Poznámky
Člen m_pPD
je veřejná proměnná deklarovaná jako ukazatel na CPrintDialog
.
CPrintInfo::m_rectDraw
Určuje použitelnou oblast výkresu stránky v logických souřadnicích.
Poznámky
Můžete na to odkazovat v přepsání CView::OnPrint
. Pomocí tohoto člena můžete sledovat, jaká oblast zůstane použitelná po vytištění záhlaví, zápatí atd. Člen m_rectDraw
je veřejná proměnná typu CRect
.
CPrintInfo::m_strPageDesc
Obsahuje formátovací řetězec použitý k zobrazení čísel stránek během náhledu tisku; tento řetězec se skládá ze dvou podřetězců, jednoho pro jednostránkový zobrazení a jednoho pro zobrazení s dvojitou stránkou, přičemž každý je ukončen znakem \n.
Poznámky
Rozhraní používá výchozí hodnotu Page %u\nPages %u-%u\n. Pokud chcete pro čísla stránek použít jiný formát, zadejte v přepsání CView::OnPreparePrinting
řetězec formátu . Člen m_strPageDesc
je veřejná proměnná typu CString
.
CPrintInfo::SetMaxPage
Voláním této funkce určíte číslo poslední stránky dokumentu.
void SetMaxPage(UINT nMaxPage);
Parametry
nMaxPage
Číslo poslední stránky dokumentu
Poznámky
Tato hodnota je uložena v objektu CPrintDialog
odkazovaném m_pPD
členem. Pokud je délka dokumentu známa před tiskem, zavolejte tuto funkci z přepsání CView::OnPreparePrinting
. Pokud délka dokumentu závisí na nastavení určeném uživatelem v dialogovém okně Tisk, zavolejte tuto funkci z přepsání CView::OnBeginPrinting
. Pokud není délka dokumentu známá, dokud se nevytiskne, použijte m_bContinuePrinting
člena k řízení smyčky tisku.
Příklad
Podívejte se na příklad pro CView::OnPreparePrinting.
CPrintInfo::SetMinPage
Voláním této funkce určíte číslo první stránky dokumentu.
void SetMinPage(UINT nMinPage);
Parametry
nMinPage
Číslo první stránky dokumentu
Poznámky
Čísla stránek obvykle začínají číslem 1. Tato hodnota je uložena v objektu CPrintDialog
odkazovaném m_pPD
členem.
Viz také
MFC – ukázka DIBLOOK
Graf hierarchie
CView::OnBeginPrinting
CView::OnEndPrinting
CView::OnEndPrintPreview
CView::OnPrepareDC
CView::OnPreparePrinting
CView::OnPrint