Share via


CPrintDialogEx-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Hiermee worden de services ingekapseld die worden geleverd door het eigenschappenvenster Windows Print.

Syntaxis

class CPrintDialogEx : public CCommonDialog

Leden

Openbare constructors

Naam Description
CPrintDialogEx::CPrintDialogEx Maakt een CPrintDialogEx object.

Openbare methoden

Naam Description
CPrintDialogEx::CreatePrinterDC Hiermee maakt u een printerapparaatcontext zonder het dialoogvenster Afdrukken weer te geven.
CPrintDialogEx::D oModal Hiermee wordt het dialoogvenster weergegeven en kan de gebruiker selecties maken.
CPrintDialogEx::GetCopies Hiermee haalt u het aantal aangevraagde exemplaren op.
CPrintDialogEx::GetDefaults Hiermee worden standaardinstellingen voor apparaten opgehaald zonder een dialoogvenster weer te geven.
CPrintDialogEx::GetDeviceName Hiermee haalt u de naam van het geselecteerde printerapparaat op.
CPrintDialogEx::GetDevMode Haalt de DEVMODE structuur op.
CPrintDialogEx::GetDriverName Haalt de naam van het door het systeem gedefinieerde printerapparaatstuurprogramma op.
CPrintDialogEx::GetPortName Hiermee haalt u de naam van de geselecteerde printerpoort op.
CPrintDialogEx::GetPrinterDC Hiermee haalt u een ingang op voor de context van het printerapparaat.
CPrintDialogEx::P rintAll Bepaalt of alle pagina's van het document moeten worden afgedrukt.
CPrintDialogEx::P rintCollate Bepaalt of gesorteerde kopieën worden aangevraagd.
CPrintDialogEx::P rintCurrentPage Bepaalt of de huidige pagina van het document moet worden afgedrukt.
CPrintDialogEx::P rintRange Hiermee bepaalt u of alleen een opgegeven bereik van pagina's moet worden afgedrukt.
CPrintDialogEx::P rintSelection Bepaalt of alleen de geselecteerde items moeten worden afgedrukt.

Leden van openbare gegevens

Naam Description
CPrintDialogEx::m_pdex Een structuur die wordt gebruikt om een CPrintDialogEx object aan te passen.

Opmerkingen

U kunt vertrouwen op het framework om veel aspecten van het afdrukproces voor uw toepassing af te handelen. Zie het artikel Afdrukken voor meer informatie over het gebruik van het framework voor het afhandelen van afdruktaken.

Als u wilt dat uw toepassing afdrukbewerkingen afhandelt zonder de betrokkenheid van het framework, kunt u de CPrintDialogEx klasse 'zoals is' gebruiken met de meegeleverde constructor, of u kunt uw eigen dialoogvensterklasse afleiden van CPrintDialogEx en een constructor schrijven die aan uw behoeften voldoet. In beide gevallen gedragen deze dialoogvensters zich als standaard MFC-dialoogvensters omdat ze zijn afgeleid van klasse CCommonDialog.

Als u een CPrintDialogEx object wilt gebruiken, maakt u eerst het object met behulp van de CPrintDialogEx constructor. Zodra het dialoogvenster is samengesteld, kunt u waarden in de m_pdex structuur instellen of wijzigen om de waarden van de besturingselementen van het dialoogvenster te initialiseren. De m_pdex structuur is van het type PRINTDLGEX. Zie de Windows SDK voor meer informatie over deze structuur.

Als u uw eigen ingangen niet invoert m_pdex voor de hDevMode en hDevNames leden, moet u de Windows-functie GlobalFree voor deze ingangen aanroepen wanneer u klaar bent met het dialoogvenster.

Nadat u de besturingselementen voor het dialoogvenster hebt geïnitialiseerd, roept u de DoModal lidfunctie aan om het dialoogvenster weer te geven en kan de gebruiker afdrukopties selecteren. Wanneer DoModal u terugkeert, kunt u bepalen of de gebruiker de knop OK, Toepassen of Annuleren heeft geselecteerd.

Als de gebruiker op OK heeft gedrukt, kunt u de lidfuncties gebruiken CPrintDialogExom de informatie-invoer van de gebruiker op te halen.

De CPrintDialogEx::GetDefaults lidfunctie is handig voor het ophalen van de huidige printerstandaarden zonder een dialoogvenster weer te geven. Voor deze methode is geen gebruikersinteractie vereist.

U kunt de Windows-functie CommDlgExtendedError gebruiken om te bepalen of er een fout is opgetreden tijdens de initialisatie van het dialoogvenster en voor meer informatie over de fout. Zie de Windows SDK voor meer informatie over deze functie.

Zie Algemene dialoogvensterklassen voor meer informatie over het gebruikCPrintDialogEx.

Overnamehiërarchie

CObject

CCmdTarget

CWnd

CDialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

CPrintDialogEx

Requirements

Koptekst: afxdlgs.h

CPrintDialogEx::CPrintDialogEx

Maakt een Windows Print-eigenschappenvenster.

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

Parameterwaarden

dwFlags
Een of meer vlaggen die u kunt gebruiken om de instellingen van het dialoogvenster aan te passen, gecombineerd met de bitsgewijze OR-operator. Met de vlag PD_ALLPAGES wordt bijvoorbeeld het standaardafdrukbereik ingesteld op alle pagina's van het document. Zie de PRINTDLGEX-structuur in de Windows SDK voor meer informatie over deze vlaggen.

pParentWnd
Een aanwijzer naar het bovenliggende of eigenaarsvenster van het dialoogvenster.

Opmerkingen

Met deze lidfunctie wordt alleen het object samengesteld. Gebruik de DoModal lidfunctie om het dialoogvenster weer te geven.

CPrintDialogEx::CreatePrinterDC

Hiermee maakt u een printerapparaatcontext (DC) op basis van de devmode - en DEVNAMES-structuren .

HDC CreatePrinterDC();

Retourwaarde

Greep naar de context van het zojuist gemaakte printerapparaat.

Opmerkingen

De geretourneerde domeincontroller wordt ook opgeslagen in het hDC lid van m_pdex.

Deze DC wordt verondersteld de huidige printerdomeincontroller te zijn en andere eerder verkregen printer-DC's moeten worden verwijderd. Deze functie kan worden aangeroepen en de resulterende DC die wordt gebruikt, zonder het dialoogvenster Afdrukken weer te geven.

CPrintDialogEx::D oModal

Roep deze functie aan om het eigenschappenvenster Windows Print weer te geven en de gebruiker in staat te stellen verschillende afdrukopties te selecteren, zoals het aantal exemplaren, het paginabereik en of kopieën moeten worden gesorteerd.

virtual INT_PTR DoModal();

Retourwaarde

De INT_PTR retourwaarde is eigenlijk een HRESULT. Zie de sectie Retourwaarden in PrintDlgEx in de Windows SDK.

Opmerkingen

Als u de verschillende afdrukdialoogvensteropties wilt initialiseren door leden van de m_pdex structuur in te stellen, moet u dit doen voordat u aanroept DoModal, maar nadat het dialoogvensterobject is samengesteld.

Na het aanroepen DoModalkunt u andere lidfuncties aanroepen om de instellingen of gegevensinvoer van de gebruiker op te halen in het dialoogvenster.

Als de PD_RETURNDC vlag wordt gebruikt bij het aanroepen DoModal, wordt er een printerdomeincontroller geretourneerd in het hDC lid van m_pdex. Deze domeincontroller moet worden vrijgemaakt met een aanroep naar DeleteDC door de beller van CPrintDialogEx.

CPrintDialogEx::GetCopies

Roep deze functie aan nadat u hebt aangeroepen DoModal om het aantal aangevraagde kopieën op te halen.

int GetCopies() const;

Retourwaarde

Het aantal exemplaren dat is aangevraagd.

CPrintDialogEx::GetDefaults

Roep deze functie aan om de standaardinstellingen van het apparaat van de standaardprinter op te halen zonder een dialoogvenster weer te geven.

BOOL GetDefaults();

Retourwaarde

WAAR als dit lukt, anders ONWAAR.

Opmerkingen

Hiermee maakt u een printerapparaatcontext (DC) op basis van de devmode - en DEVNAMES-structuren .

GetDefaults geeft het eigenschappenvenster Afdrukken niet weer. In plaats daarvan worden de hDevNames en hDevMode leden van m_pdex ingesteld op de DEVMODE - en DEVNAMES-structuren die zijn geïnitialiseerd voor de standaardprinter van het systeem. Beide hDevNames en hDevMode moeten NULL zijn of GetDefaults mislukken.

Als de PD_RETURNDC vlag is ingesteld, retourneert deze functie niet alleen hDevNames en hDevMode (in m_pdex.hDevNames en m_pdex.hDevMode) naar de aanroeper, maar retourneert deze ook een printerDOMEINCONTROLLER in m_pdex.hDC. Het is de verantwoordelijkheid van de aanroeper om de printerdomeincontroller te verwijderen en de functie Windows GlobalFree aan te roepen op de ingangen wanneer u klaar bent met het CPrintDialogEx object.

CPrintDialogEx::GetDeviceName

Roep deze functie aan nadat u DoModal hebt aangeroepen om de naam van de geselecteerde printer op te halen of nadat GetDefaults zijn aangeroepen om de naam van de standaardprinter op te halen.

CString GetDeviceName() const;

Retourwaarde

De naam van de geselecteerde printer.

Opmerkingen

Gebruik een aanwijzer naar het CString object dat wordt GetDeviceName geretourneerd als de waarde in lpszDeviceName een aanroep naar CDC::CreateDC.

CPrintDialogEx::GetDevMode

Roep deze functie aan nadat u DoModal of GetDefaults hebt aangeroepen om informatie over het afdrukapparaat op te halen.

LPDEVMODE GetDevMode() const;

Retourwaarde

De DEVMODE-gegevensstructuur , die informatie bevat over de initialisatie van het apparaat en de omgeving van een afdrukstuurprogramma. U moet het geheugen ontgrendelen dat door deze structuur wordt genomen met de functie Windows GlobalUnlock , die wordt beschreven in de Windows SDK.

CPrintDialogEx::GetDriverName

Roep deze functie aan nadat u DoModal of GetDefaults hebt aangeroepen om de naam van het door het systeem gedefinieerde printerapparaatstuurprogramma op te halen.

CString GetDriverName() const;

Retourwaarde

Een CString vermelding die de door het systeem gedefinieerde stuurprogrammanaam opgeeft.

Opmerkingen

Gebruik een aanwijzer naar het CString object dat wordt GetDriverName geretourneerd als de waarde van lpszDriverName in een aanroep naar CDC::CreateDC.

CPrintDialogEx::GetPortName

Roep deze functie aan nadat u DoModal of GetDefaults hebt aangeroepen om de naam van de geselecteerde printerpoort op te halen.

CString GetPortName() const;

Retourwaarde

De naam van de geselecteerde printerpoort.

CPrintDialogEx::GetPrinterDC

Retourneert een ingang naar de context van het printerapparaat.

HDC GetPrinterDC() const;

Retourwaarde

Een ingang naar de context van het printerapparaat.

Opmerkingen

U moet de Windows DeleteDC-functie aanroepen om de apparaatcontext te verwijderen wanneer u klaar bent met het gebruik ervan.

CPrintDialogEx::m_pdex

Een PRINTDLGEX-structuur waarvan leden de kenmerken van het dialoogvensterobject opslaan.

PRINTDLGEX m_pdex;

Opmerkingen

Nadat u een CPrintDialogEx object hebt gemaakt, kunt m_pdex u verschillende aspecten van het dialoogvenster instellen voordat u de functie DoModal-lid aanroept. Zie PRINTDLGEX in de Windows SDK voor meer informatie over de m_pdex structuur.

Als u het m_pdex gegevenslid rechtstreeks wijzigt, overschrijft u het standaardgedrag.

CPrintDialogEx::P rintAll

Roep deze functie aan nadat u hebt aangeroepen DoModal om te bepalen of alle pagina's in het document moeten worden afgedrukt.

BOOL PrintAll() const;

Retourwaarde

WAAR als alle pagina's in het document moeten worden afgedrukt; anders ONWAAR.

CPrintDialogEx::P rintCollate

Roep deze functie aan nadat u hebt aangeroepen DoModal om te bepalen of de printer alle afgedrukte exemplaren van het document moet sorteren.

BOOL PrintCollate() const;

Retourwaarde

WAAR als de gebruiker het samenvouwbare selectievakje in het dialoogvenster inschakelt; anders ONWAAR.

CPrintDialogEx::P rintCurrentPage

Roep deze functie aan nadat u hebt aangeroepen DoModal om te bepalen of de huidige pagina in het document moet worden afgedrukt.

BOOL PrintCurrentPage() const;

Retourwaarde

WAAR als Huidige pagina afdrukken is geselecteerd in het afdrukdialoogvenster; anders ONWAAR.

CPrintDialogEx::P rintRange

Roep deze functie aan nadat u hebt aangeroepen DoModal om te bepalen of er slechts een reeks pagina's in het document moet worden afgedrukt.

BOOL PrintRange() const;

Retourwaarde

WAAR als slechts een reeks pagina's in het document moet worden afgedrukt; anders ONWAAR.

Opmerkingen

De opgegeven paginabereiken kunnen worden bepaald op basis van m_pdex (zie nPageRanges, nMaxPageRangesen lpPageRanges in de structuur PRINTDLGEX in de Windows SDK).

CPrintDialogEx::P rintSelection

Roep deze functie aan nadat u hebt aangeroepen DoModal om te bepalen of alleen de geselecteerde items moeten worden afgedrukt.

BOOL PrintSelection() const;

Retourwaarde

WAAR als alleen de geselecteerde items moeten worden afgedrukt; anders ONWAAR.

Zie ook

CCommonDialog-klasse
Hiërarchiegrafiek
CPrintInfo-structuur