Sdílet prostřednictvím


CPrintDialogEx – třída

Zapouzdřuje služby poskytované seznamem vlastností Tisk systému Windows.

Syntaxe

class CPrintDialogEx : public CCommonDialog

Členové

Veřejné konstruktory

Název Popis
CPrintDialogEx::CPrintDialogEx CPrintDialogEx Vytvoří objekt.

Veřejné metody

Název Popis
CPrintDialogEx::CreatePrinterDC Vytvoří kontext zařízení tiskárny bez zobrazení dialogového okna Tisk.
CPrintDialogEx::D oModal Zobrazí dialogové okno a umožní uživateli provádět výběry.
CPrintDialogEx::GetCopies Načte požadovaný počet kopií.
CPrintDialogEx::GetDefaults Načte výchozí hodnoty zařízení bez zobrazení dialogového okna.
CPrintDialogEx::GetDeviceName Načte název aktuálně vybraného zařízení tiskárny.
CPrintDialogEx::GetDevMode Načte DEVMODE strukturu.
CPrintDialogEx::GetDriverName Načte název systémového ovladače zařízení tiskárny.
CPrintDialogEx::GetPortName Načte název aktuálně vybraného portu tiskárny.
CPrintDialogEx::GetPrinterDC Načte popisovač kontextu zařízení tiskárny.
CPrintDialogEx::P rintAll Určuje, zda se mají vytisknout všechny stránky dokumentu.
CPrintDialogEx::P rintCollate Určuje, zda jsou požadovány kompletované kopie.
CPrintDialogEx::P rintCurrentPage Určuje, zda se má vytisknout aktuální stránka dokumentu.
CPrintDialogEx::P rintRange Určuje, zda se má vytisknout pouze zadaný rozsah stránek.
CPrintDialogEx::P rintSelection Určuje, zda se mají vytisknout pouze aktuálně vybrané položky.

Veřejné datové členy

Název Popis
CPrintDialogEx::m_pdex Struktura použitá k přizpůsobení objektu CPrintDialogEx .

Poznámky

Při zpracování mnoha aspektů procesu tisku pro vaši aplikaci můžete spoléhat na architekturu. Další informace o použití architektury pro zpracování úloh tisku naleznete v článku Tisk.

Pokud chcete, aby vaše aplikace zpracovávala tisk bez zapojení architektury, můžete použít CPrintDialogEx třídu "tak, jak je" se zadaným konstruktorem, nebo můžete odvodit vlastní třídu dialogového okna a CPrintDialogEx napsat konstruktor tak, aby vyhovoval vašim potřebám. V obou případech se tato dialogová okna budou chovat jako standardní dialogová okna MFC, protože jsou odvozeny od třídy CCommonDialog.

Chcete-li použít CPrintDialogEx objekt, nejprve vytvořte objekt pomocí konstruktoru CPrintDialogEx . Po vytvoření dialogového okna můžete nastavit nebo upravit jakékoli hodnoty ve struktuře m_pdex tak, aby inicializovaly hodnoty ovládacích prvků dialogového okna. Struktura m_pdex je typu PRINTDLGEX. Další informace o této struktuře najdete v sadě Windows SDK.

Pokud nezadáte vlastní popisovače m_pdex pro hDevMode členy a hDevNames členy, nezapomeňte při práci s dialogovým oknem volat funkci GlobalFree Windows pro tyto popisovače.

Po inicializaci ovládacích prvků dialogového okna zavolejte DoModal členovou funkci, aby zobrazila dialogové okno a povolila uživateli vybrat možnosti tisku. Když DoModal se vrátí, můžete určit, jestli uživatel vybral tlačítko OK, Použít nebo Zrušit.

Pokud uživatel stiskl tlačítko OK, můžete k načtení informací, které uživatel zadá, použít CPrintDialogExčlenské funkce.

Členová CPrintDialogEx::GetDefaults funkce je užitečná pro načtení výchozích hodnot aktuální tiskárny bez zobrazení dialogového okna. Tato metoda nevyžaduje žádnou interakci uživatele.

Pomocí funkce Systému Windows CommDlgExtendedError můžete určit, jestli během inicializace dialogového okna došlo k chybě, a získat další informace o chybě. Další informace o této funkci najdete v sadě Windows SDK.

Další informace o použití CPrintDialogExnaleznete v tématu Běžné třídy dialogových oken.

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CWnd

CDialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

CPrintDialogEx

Požadavky

Hlavička: afxdlgs.h

CPrintDialogEx::CPrintDialogEx

Vytvoří seznam vlastností Tisk systému Windows.

CPrintDialogEx(
    DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS       | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
    CWnd* pParentWnd = NULL);

Parametry

dwFlags
Jeden nebo více příznaků, které můžete použít k přizpůsobení nastavení dialogového okna v kombinaci pomocí bitové operátoru OR. Příznak PD_ALLPAGES například nastaví výchozí rozsah tisku na všechny stránky dokumentu. Další informace o těchto příznakech najdete ve struktuře PRINTDLGEX v sadě Windows SDK.

pParentWnd
Ukazatel na nadřazené okno nebo okno vlastníka dialogového okna

Poznámky

Tato členová funkce vytvoří pouze objekt. DoModal Pomocí členské funkce zobrazte dialogové okno.

CPrintDialogEx::CreatePrinterDC

Vytvoří kontext zařízení tiskárny (DC) ze struktur DEVMODE a DEVNAMES .

HDC CreatePrinterDC();

Návratová hodnota

Umožňuje zpracovat nově vytvořený kontext zařízení tiskárny.

Poznámky

Vrácený řadič domény je také uložen v členu hDC m_pdex.

Tento řadič domény se předpokládá jako aktuální řadič domény tiskárny a všechny ostatní dříve získané řadiče domény tiskárny musí být odstraněny. Tuto funkci lze volat a výsledný řadič domény se používá bez zobrazení dialogového okna Tisk.

CPrintDialogEx::D oModal

Voláním této funkce zobrazíte seznam vlastností Tisk systému Windows a umožníte uživateli vybrat různé možnosti tisku, jako je počet kopií, rozsah stránek a zda mají být kopie kompletovány.

virtual INT_PTR DoModal();

Návratová hodnota

Vrácená hodnota INT_PTR je ve skutečnosti HRESULT. Viz část Návratové hodnoty v PrintDlgEx v sadě Windows SDK.

Poznámky

Pokud chcete inicializovat různé možnosti dialogového okna tisku nastavením členů m_pdex struktury, měli byste to udělat před voláním DoModal, ale po vytvoření objektu dialogového okna.

Po volání můžete zavolat DoModaldalší členské funkce, které načtou nastavení nebo informace zadané uživatelem do dialogového okna.

Pokud se při volání DoModalpoužije příznak PD_RETURNDC, vrátí se řadič domény tiskárny v členu hDC m_pdex. Tento řadič domény musí být uvolněn voláním DeleteDC volajícím .CPrintDialogEx

CPrintDialogEx::GetCopies

Voláním této funkce načtěte DoModal požadovaný počet kopií.

int GetCopies() const;

Návratová hodnota

Počet požadovaných kopií.

CPrintDialogEx::GetDefaults

Voláním této funkce načtěte výchozí nastavení zařízení výchozí tiskárny bez zobrazení dialogového okna.

BOOL GetDefaults();

Návratová hodnota

PRAVDA v případě úspěchu, jinak NEPRAVDA.

Poznámky

Vytvoří kontext zařízení tiskárny (DC) ze struktur DEVMODE a DEVNAMES .

GetDefaults nezobrazuje seznam vlastností Tisk. Místo toho nastaví hDevNames a hDevMode členy m_pdex pro zpracování struktur DEVMODE a DEVNAMES , které jsou inicializovány pro výchozí systémovou tiskárnu. Obojí hDevNames a hDevMode musí mít hodnotu NULL nebo GetDefaults se nezdaří.

Pokud je nastaven příznak PD_RETURNDC, tato funkce se vrátí nejen volajícímu hDevNames a hDevMode (umístěnému m_pdex.hDevNames v a m_pdex.hDevMode) , ale vrátí také tiskárnu DC v m_pdex.hDC. Je zodpovědností volajícího odstranit řadič domény tiskárny a volat funkci Windows GlobalFree na popisovačích po dokončení s objektem CPrintDialogEx .

CPrintDialogEx::GetDeviceName

Volání této funkce po volání DoModal načtení názvu aktuálně vybrané tiskárny nebo po volání GetDefaults načíst název výchozí tiskárny .

CString GetDeviceName() const;

Návratová hodnota

Název aktuálně vybrané tiskárny.

Poznámky

Použijte ukazatel na CString objekt vrácený GetDeviceName jako hodnotu lpszDeviceName ve volání CDC::CreateDC.

CPrintDialogEx::GetDevMode

Volání této funkce po volání DoModal nebo GetDefaults načíst informace o tiskovém zařízení.

LPDEVMODE GetDevMode() const;

Návratová hodnota

Datová struktura DEVMODE , která obsahuje informace o inicializaci zařízení a prostředí tiskového ovladače. Paměť pořízenou touto strukturou musíte odemknout pomocí funkce Windows GlobalUnlock , která je popsaná v sadě Windows SDK.

CPrintDialogEx::GetDriverName

Volání této funkce po volání DoModal nebo GetDefaults načíst název ovladače zařízení tiskárny definované systémem.

CString GetDriverName() const;

Návratová hodnota

Zadejte CString název ovladače definovaného systémem.

Poznámky

Použijte ukazatel na CString objekt vrácený GetDriverName jako hodnotu lpszDriverName ve volání CDC::CreateDC.

CPrintDialogEx::GetPortName

Volání této funkce po volání DoModal nebo GetDefaults načíst název aktuálně vybraného portu tiskárny .

CString GetPortName() const;

Návratová hodnota

Název aktuálně vybraného portu tiskárny.

CPrintDialogEx::GetPrinterDC

Vrátí popisovač kontextu zařízení tiskárny.

HDC GetPrinterDC() const;

Návratová hodnota

Popisovač kontextu zařízení tiskárny.

Poznámky

Funkci Windows DeleteDC je nutné volat, abyste po dokončení používání odstranili kontext zařízení.

CPrintDialogEx::m_pdex

Struktura PRINTDLGEX, jejíž členy ukládají vlastnosti dialogového objektu.

PRINTDLGEX m_pdex;

Poznámky

Po vytvoření objektu CPrintDialogEx můžete před voláním členské funkce DoModal nastavit m_pdex různé aspekty dialogového okna. Další informace o m_pdex struktuře naleznete v tématu PRINTDLGEX v sadě Windows SDK.

Pokud datový člen upravíte m_pdex přímo, přepíšete veškeré výchozí chování.

CPrintDialogEx::P rintAll

Zavoláním této funkce DoModal určíte, jestli se mají vytisknout všechny stránky v dokumentu.

BOOL PrintAll() const;

Návratová hodnota

PRAVDA, pokud budou vytištěny všechny stránky v dokumentu; jinak NEPRAVDA.

CPrintDialogEx::P rintCollate

Voláním této funkce DoModal určíte, zda má tiskárna kompletovat všechny vytištěné kopie dokumentu.

BOOL PrintCollate() const;

Návratová hodnota

TRUE, pokud uživatel zaškrtne políčko kompletovat v dialogovém okně; jinak NEPRAVDA.

CPrintDialogEx::P rintCurrentPage

Voláním této funkce DoModal určíte, jestli se má vytisknout aktuální stránka v dokumentu.

BOOL PrintCurrentPage() const;

Návratová hodnota

TRUE, pokud je v dialogovém okně tisku vybrána možnost Tisk aktuální stránky ; jinak NEPRAVDA.

CPrintDialogEx::P rintRange

Zavoláním této funkce DoModal určíte, jestli se má vytisknout jenom rozsah stránek v dokumentu.

BOOL PrintRange() const;

Návratová hodnota

PRAVDA, pokud se má vytisknout pouze rozsah stránek v dokumentu; jinak NEPRAVDA.

Poznámky

Zadané rozsahy stránek lze určit z m_pdex (viz nPageRanges, nMaxPageRangesa lpPageRanges ve struktuře PRINTDLGEX v sadě Windows SDK).

CPrintDialogEx::P rintSelection

Voláním této funkce DoModal určíte, zda se mají vytisknout pouze aktuálně vybrané položky.

BOOL PrintSelection() const;

Návratová hodnota

TRUE, pokud mají být vytištěny pouze vybrané položky; jinak NEPRAVDA.

Viz také

CCommonDialog – třída
Graf hierarchie
CPrintInfo – struktura