CView::OnPreparePrinting
Rámci volána před vytištění nebo zobrazení náhledu dokumentu.
virtual BOOL OnPreparePrinting(
CPrintInfo* pInfo
);
Parametry
- pInfo
Odkazuje CPrintInfo struktury, která popisuje aktuální tiskovou úlohu.
Vrácená hodnota
Nenulová zahájit tisk; 0, pokud tisková úloha byla zrušena.
Poznámky
Výchozí implementace neprovede žádnou akci.
Tato funkce umožňuje náhled tisku a tisku musí přepsat.Volání DoPreparePrinting členské funkce, předá jej pInfo parametr a potom vrátí hodnoty; DoPreparePrintingZobrazí dialogové okno Tisk a vytváří kontext zařízení tiskárny.Pokud chcete inicializovat dialogové okno Tisk s výchozí hodnoty, přiřadit hodnoty členů pInfo .Například délka dokumentu znáte, předat hodnotu SetMaxPage členské funkce pInfo před voláním DoPreparePrinting .Tato hodnota se zobrazí v poli Komu: v této oblasti část dialogového okna Tisk.
DoPreparePrintingv dialogovém okně Tisk úlohy náhledu nezobrazí.Pokud chcete vynechat dialogové okno Tisk pro tiskovou úlohu, zkontrolujte, zda m_bPreview člen pInfo je FALSE a nastavte ji na TRUE před jeho předáním DoPreparePrinting ; obnovit na FALSE později.
Pokud potřebujete provést inicializací, které vyžadují přístup k CDC přepsat objekt představující kontext zařízení tiskárny (například, pokud potřebujete znát před určující délku dokumentu velikost stránky) OnBeginPrinting členské funkce.
Pokud chcete nastavit hodnotu m_nNumPreviewPages nebo m_strPageDesc členy pInfo parametr, tak učinit po volání DoPreparePrinting . DoPreparePrinting Funkce sady členů m_nNumPreviewPages na hodnotu dané aplikace.Soubor INI a nastaví m_strPageDesc na výchozí hodnotu.
Příklad
Přepsat OnPreparePrinting a DoPreparePrinting z vyřazení tak, aby v rámci zobrazí dialogové okno Tisk a tiskárna DC vytvořit.
BOOL CMyEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
return CEditView::DoPreparePrinting(pInfo);
}
Pokud víte, kolik stránek obsahuje dokument, nastavte maximální stránky v OnPreparePrinting před voláním DoPreparePrinting .Rámci zobrazí maximální číslo v poli "na" v dialogovém okně Tisk.
BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
//The document has 2 pages.
pInfo->SetMaxPage(2);
return CView::DoPreparePrinting(pInfo);
}
Požadavky
Záhlaví: afxwin.h