PRINTDLGEX

[Dit is voorlopige documentatie en onderhevig aan veranderingen.]

De PRINTDLGEX structuur bevat informatie die de functie PrintDlgEx worden gebruikt voor het initialiseren van de eigenschap vel afdrukken . Nadat de gebruiker het eigenschappenvenster sluit, het systeem deze structuur gebruikt om informatie over selecties van de gebruiker retourneren.

typedef struct tagPDEX {}
    DWORD lStructSize;
    HWND hwndOwner;
    HGLOBAL hDevMode;
    HGLOBAL hDevNames;
    HDC hDC;
    DWORD Vlaggen;
    DWORD Flags2;
    DWORD ExclusionFlags;
    DWORD nPageRanges;
    DWORD nMaxPageRanges;
    LPPRINTPAGERANGE lpPageRanges;
    DWORD nMinPage;
    DWORD nMaxPage;
    DWORD nCopies;
    HINSTANCE hInstance;
    LPCTSTR lpPrintTemplateName;
    LPUNKNOWN lpCallback;
    DWORD nPropertyPages;
    HPROPSHEETPAGE * lphPropertyPages;
    DWORD nStartPage;
    DWORD dwResultAction;
} PRINTDLGEX, * LPPRINTDLGEX 

Leden

lStructSize
Geeft de structuur grootte, in bytes.
hwndOwner
Ingang naar het venster dat eigenaar is van het eigenschappenvenster. Dit lid moet een geldige vensteringang; het kan niet NULL.
hDevMode
Ingang naar een object roerende globale geheugen dat bevat een DEVMODE -structuur. Als hDevMode niet nul op de input is, moet u een verplaatsbaar blok geheugen toewijzen voor de DEVMODE -structuur en initialiseren van haar leden. De PrintDlgEx functie gebruikt de input datato geÔnitialiseerd de besturingselementen in het eigenschappenvenster. Wanneer PrintDlgEx wordt geretourneerd, de DEVMODE leden geeft aan dat de invoer van de gebruiker.

Als hDevMode NULL op input is, PrintDlgEx wijst geheugen toe voor de structuur DEVMODE , initialiseert haar leden om aan te geven de invoer van de gebruiker en geeft als resultaat een greep waarmee het.

Zie de opmerkingen aan het einde van dit onderwerp voor meer informatie over de hDevMode en hDevNames leden,.

hDevNames
Ingang naar een object roerende globale geheugen waarin een structuur DEVNAMES betrekking hebben . Als hDevNames niet nul op de input is, moet u een verplaatsbaar blok geheugen toewijzen voor de structuur DEVNAMES betrekking hebben en initialiseren van haar leden. De PrintDlgEx functie gebruikt de input datato geÔnitialiseerd de besturingselementen in het eigenschappenvenster. Wanneer PrintDlgEx wordt geretourneerd, bevatten de DEVNAMES leden informatie voor de printer gekozen door de gebruiker. U kunt deze informatie gebruiken om een device-context of een informatie-context te maken.

De hDevNames lid kunt worden NULL, in welk geval, PrintDlgEx wijst geheugen toe aan de structuur DEVNAMES betrekking hebben , de inbreng van haar leden om aan te geven van de gebruiker, wordt geÔnitialiseerd en retourneert een handvat dat identificeert het.

Zie de opmerkingen aan het einde van dit onderwerp voor meer informatie over de hDevMode en hDevNames leden,.

hDC
Ingang naar een device-context of een informatie-context, afhankelijk van of de vlaggen lid Hiermee geeft u de vlag PD_RETURNDC of PC_RETURNIC. Als geen van beide vlag is opgegeven, is de waarde van dit lid niet gedefinieerd. Als beide vlaggen worden opgegeven, heeft PD_RETURNDC prioriteit.
Vlaggen
Een set van bits vlaggen die u gebruiken kunt voor het initialiseren van het eigenschappenvenster afdrukken . Als u de functie PrintDlgEx retourneert, wordt deze vlaggen om aan te geven de invoer van de gebruiker. Dit lid kan bestaan uit een combinatie van de volgende vlaggen.
PD_ALLPAGES
De standaardvlag die aangeeft dat het keuzerondje alle in eerste instantie is geselecteerd. Deze vlag wordt gebruikt als een aanduiding om aan te geven dat de PD_PAGENUMS, PD_SELECTION en PD_CURRENTPAGE flags niet zijn opgegeven.
PD_COLLATE
Als deze vlag is ingesteld, is het selectievakje sorteren ingeschakeld.

Als deze vlag is ingesteld wanneer de functie PrintDlgEx retourneert, moet de toepassing simuleren sortering van meerdere exemplaren. Voor meer informatie, zie de beschrijving van de vlag PD_USEDEVMODECOPIESANDCOLLATE.

PD_CURRENTPAGE
Als deze vlag is ingesteld, wordt de Huidige pagina radio knop is geselecteerd. Als geen van de vlaggen PD_PAGENUMS, PD_SELECTION of PD_CURRENTPAGE is ingesteld, is het keuzerondje alle geselecteerd.
PD_DISABLEPRINTTOFILE
Hiermee schakelt u het selectievakje Afdrukken naar bestand.
PD_ENABLEPRINTTEMPLATE
Geeft aan dat de leden hInstance en lpPrintTemplateName in het onderste gedeelte van de pagina Algemeen een vervanging voor de standaard dialoogvenster vak sjabloon opgeven. De standaardsjabloon bevat besturingselementen die vergelijkbaar zijn met die van het dialoogvenster afdrukken . Het systeem de opgegeven sjabloon gebruikt om een venster dat is een kind van de algemene pagina maken.
PD_ENABLEPRINTTEMPLATEHANDLE
Geeft aan dat de hInstance lid identificeert een gegevensblok dat een voorgeladen dialoogvenster vak sjabloon bevat. Deze sjabloon vervangt de standaardsjabloon van de dialoogvenster vak in het onderste gedeelte van de pagina Algemeen . Het systeem gebruikt de opgegeven sjabloon te maken van een venster dat is een kind van de algemene pagina. Het systeem negeert de lpPrintTemplateName lid als deze vlag is opgegeven.
PD_EXCLUSIONFLAGS
Geeft aan dat de ExclusionFlags lid identificeert items worden uitgesloten van de printer stuurprogramma eigenschappenpagina's. Als deze vlag niet is ingesteld, zal items standaard van de printer stuurprogramma eigenschappenpagina's worden uitgesloten. De uitsluitingen voorkomen de duplicatie van items onder de algemene pagina, toepassing opgegeven pagina's en de printer stuurprogramma 's.
PD_HIDEPRINTTOFILE
Verbergt het selectievakje Afdrukken naar bestand.
PD_NOCURRENTPAGE
Hiermee schakelt u de knop Huidige pagina radio.
PD_NOPAGENUMS
De knop pagina's radio en de bijbehorende bewerken besturingselementen uitgeschakeld.
PD_NOSELECTION
Hiermee schakelt u de knop selectie radio.
PD_NOWARNING
Voorkomt dat het waarschuwingsbericht worden weergegeven wanneer een fout optreedt.
PD_PAGENUMS
Als deze vlag is ingesteld, worden de pagina's radio knop is geselecteerd. Als geen van de vlaggen PD_PAGENUMS, PD_SELECTION of PD_CURRENTPAGE is ingesteld, is het keuzerondje alle geselecteerd.

Als deze vlag is ingesteld wanneer de functie PrintDlgEx retourneert, lid van de lpPageRanges geeft aan de door de gebruiker opgegeven paginabereiken.

PD_PRINTTOFILE
Als deze vlag is ingesteld, is het selectievakje Afdrukken naar bestand geselecteerd.

Als deze vlag is ingesteld als PrintDlgEx terugkeert, de offset aangegeven door het lid wOutputOffset van de structuur DEVNAMES bevat de tekenreeks "bestand:". Wanneer u belt de StartDoc functie om de afdrukken bewerking, te starten dit opgeven "bestand:" tekenreeks in het lid lpszOutput van de DOCINFO structuur. Het afdruksubsysteem opvragen van de gebruiker voor de naam van het uitvoerbestand opgeeft deze tekenreeks, wordt.

PD_RETURNDC
Veroorzaakt PrintDlgEx om terug te keren een apparaatcontext die overeenkomen met de selecties van de gebruiker heeft aangebracht in het eigenschappenvenster. De device-context wordt geretourneerd in hDC.
PD_RETURNDEFAULT
Als deze vlag is ingesteld, wordt de functie PrintDlgEx niet het eigenschappenvenster weergegeven. In plaats daarvan, de hDevNames en hDevMode leden stelt deze ingangen naar DEVMODE en DEVNAMES structuren die voor de standaardprinter van systeem zijn geÔnitialiseerd. Zowel hDevNames als hDevMode moet NULL of PrintDlgEx wordt een fout geretourneerd.
PD_RETURNIC
Vergelijkbaar met de vlag PD_RETURNDC, behalve deze vlag een context voor informatie in plaats van een device-context retourneert. Als noch PD_RETURNDC noch PD_RETURNIC is opgegeven, is hDC undefined op uitgang.
PD_SELECTION
Als deze vlag is ingesteld, is de knop selectie radio geselecteerd.

Als geen van de vlaggen PD_PAGENUMS, PD_SELECTION of PD_CURRENTPAGE is ingesteld, is het keuzerondje alle geselecteerd.

PD_USEDEVMODECOPIES
Hetzelfde als PD_USEDEVMODECOPIESANDCOLLATE
PD_USEDEVMODECOPIESANDCOLLATE
Deze vlag geeft aan of uw toepassing meerdere exemplaren en sortering ondersteunt. Deze vlag instellen op input om aan te geven dat uw toepassing biedt geen ondersteuning voor meerdere exemplaren en sortering. In dit geval het lid nCopies van de PRINTDLGEX -structuur geeft altijd 1 als resultaat, en PD_COLLATE is nooit ingesteld in de vlaggen lid.

Als deze vlag niet is ingesteld, is de toepassing verantwoordelijk voor het afdrukken en meerdere exemplaren sorteren. In dit geval het lid nCopies van de PRINTDLGEX -structuur geeft het aantal exemplaren die de gebruiker wil afdrukken, en de PD_COLLATE vlag in de vlaggen lid geeft aan of de gebruiker wil sortering.

Ongeacht of deze vlag is ingesteld, een toepassing kunt bepalen van nCopies en PD_COLLATE hoeveel exemplaren u wilt renderen en of u wilt afdrukken van hen gesorteerd.

Als deze vlag is ingesteld en het printerstuurprogramma biedt geen ondersteuning voor meerdere exemplaren, is het besturingselement kopieŽn bewerken uitgeschakeld. Evenzo, als deze vlag is ingesteld en het printerstuurprogramma biedt geen ondersteuning voor sortering, het selectievakje sorteren is uitgeschakeld.

De dmCopies en dmCollate leden van de DEVMODE -structuur de kopieŽn bevatten en verzamelen van informatie door het printerstuurprogramma gebruikt. Als deze vlag is ingesteld en het printerstuurprogramma meerdere kopieŽn ondersteunt, geeft lid van de dmCopies het aantal kopieŽn dat door de gebruiker is aangevraagd. Als deze vlag is ingesteld en het printerstuurprogramma sortering ondersteunt, het lid dmCollate van de structuur DEVMODE geeft aan of de gebruiker wil sortering. Als deze vlag niet is ingesteld, lid van de dmCopies retourneert altijd 1, en lid van de dmCollate is altijd nul.


Flags2
Voorbehouden; moet nul zijn.
ExclusionFlags
Een set van bits vlaggen die onderdelen van de printer stuurprogramma eigenschappenpagina's in het eigenschappenvenster afdrukken uitsluiten kunt . Deze waarde wordt alleen gebruikt als de vlag PD_EXCLUSIONFLAGS is ingesteld in de vlaggen lid. Uitsluiting vlaggen moeten alleen worden gebruikt als het item dat moet worden uitgesloten opgenomen op ofwel de algemene pagina of op een toepassing gedefinieerde pagina in het eigenschappenvenster afdrukken worden zullen . Dit lid kan de volgende vlag opgeven.
PD_EXCL_COPIESANDCOLLATE
Sluit de besturingselementen exemplaren en sorteren van de printer stuurprogramma eigenschappenpagina's in een eigenschappenvenster afdrukken . Deze vlag moet altijd worden ingesteld wanneer de toepassing de standaardbesturingselementen voor exemplaren en sorteren van het onderste gedeelte van de pagina Algemeen van het eigenschappenvenster afdrukken gebruikt.

nPageRanges
Op input, dit lid instelt op het eerste nummer van paginabereiken die zijn opgegeven in de matrix lpPageRanges . Wanneer de functie PrintDlgEx retourneert, geeft nPageRanges het aantal gebruiker opgegeven paginabereiken die zijn opgeslagen in de matrix lpPageRanges . Als de vlag PD_NOPAGENUMS is opgegeven, is deze waarde niet geldig.
nMaxPageRanges
Geeft de grootte, in Arrayelementen, van de buffer lpPageRanges . Deze waarde geeft het maximum aantal paginabereiken die kunnen worden opgeslagen in de array. Als de vlag PD_NOPAGENUMS is opgegeven, is deze waarde is niet geldig. Als de vlag PD_NOPAGENUMS niet is opgegeven, moet deze waarde groter dan nul.
lpPageRanges
Aanwijzer naar een buffer met een matrix van PRINTPAGERANGE structuren. Op input bevat de matrix de eerste paginabereiken wilt weergeven in het besturingselement pagina's bewerken. Wanneer de functie PrintDlgEx retourneert, bevat de array de paginabereiken die door de gebruiker opgegeven.

Als de vlag PD_NOPAGENUMS is opgegeven, is deze waarde is niet geldig. Als de vlag PD_NOPAGENUMS niet opgegeven is, moet lpPageRanges niet-NULL.

nMinPage
Hiermee geeft u de minimumwaarde voor de paginabereiken die is opgegeven in het besturingselement pagina's bewerken. Als de vlag PD_NOPAGENUMS is opgegeven, is deze waarde niet geldig.
nMaxPage
Hiermee geeft u de maximumwaarde voor de paginabereiken die is opgegeven in het besturingselement pagina's bewerken. Als de vlag PD_NOPAGENUMS is opgegeven, is deze waarde niet geldig.
nCopies
Bevat het eerste nummer van kopieŽn voor de invoervakken kopieŽn als hDevMode NULL is; anders, het lid dmCopies van de DEVMODE -structuur bevat de initiŽle waarde.

Wanneer PrintDlgEx wordt geretourneerd, bevat nCopies het werkelijke aantal exemplaren die de toepassing moet afdrukken. Deze waarde is afhankelijk van of de toepassing of het printerstuurprogramma verantwoordelijk is voor het afdrukken van meerdere exemplaren. Als de vlag PD_USEDEVMODECOPIESANDCOLLATE is ingesteld in de vlaggen lid, nCopies is altijd 1 op terugkeer, en het printerstuurprogramma is verantwoordelijk voor het afdrukken van meerdere exemplaren. Als de vlag niet is ingesteld, is de toepassing verantwoordelijk voor het afdrukken van het aantal opgegeven door nCopiesexemplaren. Voor meer informatie, zie de beschrijving van de vlag PD_USEDEVMODECOPIESANDCOLLATE.

hInstance
Als de vlag PD_ENABLEPRINTTEMPLATE is ingesteld in de vlaggen lid, is hInstance de greep van de toepassing of het exemplaar van de module waarin de dialoogvenster vak sjabloon genaamd door het lid lpPrintTemplateName . Als de vlag PD_ENABLEPRINTTEMPLATEHANDLE is ingesteld in de vlaggen lid, is hInstance het handvat van een geheugen-object met een dialoogvenster vak sjabloon. Als geen van de vlaggen van de sjabloon is ingesteld in de vlaggen lid, moet hInstance NULL worden.
lpPrintTemplateName
Aanwijzer naar een op null eindigende tekenreeks that names een dialoogvenster vak sjabloon resource in de module geÔdentificeerd door het lid hInstance . Deze sjabloon vervangt de standaardsjabloon van de dialoogvenster vak in het onderste gedeelte van de pagina Algemeen . De standaardsjabloon bevat besturingselementen die vergelijkbaar zijn met die van het dialoogvenster afdrukken . Dit lid wordt genegeerd, tenzij de PD_ENABLEPRINTTEMPLATE vlag is ingesteld in de vlaggen lid.
lpCallback
Aanwijzer naar een object van de toepassing gedefinieerde terugbellen.

Het object moet bevatten de IPrintDialogCallback klasse om berichten te ontvangen van het dialoogvenster kind in het onderste gedeelte van de pagina Algemeen.

Het object terugbellen moet ook bevatten de IObjectWithSite klasse te ontvangen een aanwijzer naar de IPrintDialogServices -interface. De functieaanroepen PrintDlgEx QueryInterface op het object terugbellen voor zowel IID_IPrintDialogCallback als IID_IObjectWithSite om te bepalen welke interfaces worden ondersteund.

Als u niet ophalen van de callback-informatie wilt, lpCallback ingesteld op NULL.

nPropertyPages
Hiermee geeft u het aantal eigenschap pagina grepen in de lphPropertyPages matrix.
lphPropertyPages
Bevat een matrix van de eigenschap pagina grepen toe te voegen aan het eigenschappenvenster afdrukken . De eigenschappenpagina volgen de algemene pagina. Gebruik de CreatePropertySheetPage -functie voor het maken van deze extra pagina's. Als nPropertyPages gelijk is aan nul, moet lphPropertyPages NULL worden.
nStartPage
Hiermee geeft u de eigenschappenpagina die aanvankelijk wordt weergegeven. De algemene pagina wilt weergeven, geeft u START_PAGE_GENERAL. Anders, de op nul gebaseerde index van een pagina met eigenschappen opgeven in de matrix die is opgegeven in de lphPropertyPages -lid. Voor consistentie, is het aanbevolen dat het eigenschappenvenster altijd worden gestart op de pagina Algemeen.
dwResultAction
Op input, stelt u dit lid in op nul. Als de functie PrintDlgEx S_OK retourneert, bevat dwResultAction de resultaten van het dialoogvenster. Als PrintDlgEx een fout retourneert, kan dit lid moet worden genegeerd. De dwResultAction lid kan een van de volgende waarden worden.
Waarde Betekenis
PD_RESULT_APPLY De gebruiker op de knop toepassen klikt en later op de knop Annuleren klikt. Dit geeft aan dat de gebruiker wil toepassen van de wijzigingen die zijn aangebracht in het eigenschappenvenster, maar niet wil afdrukken nog. De PRINTDLGEX structuur bevat de informatie die tijdens de door de gebruiker opgegeven de toepassen knop werd geklikt.
PD_RESULT_CANCEL De gebruiker heeft geklikt op de knop Annuleren . De informatie in de PRINTDLGEX structuur is ongewijzigd.
PD_RESULT_PRINT De gebruiker heeft geklikt op de knop afdrukken . De PRINTDLGEX structuur bevat de informatie die door de gebruiker opgegeven.

Opmerkingen

Wanneer u de PrintDlgEx functie aanroepen, zorg ervoor dat het lid wDeviceOffset van de structuur DEVNAMES betrekking hebben is identiek aan het lid dmDeviceName van de de structuur DEVMODE . Als deze leden niet dezelfde printer opgeeft, initialiseert PrintDlgEx het eigenschappenvenster met behulp van de printer opgegeven door de wDeviceOffset lid.

Meestal, als zowel hDevMode als hDevNames NULL, PrintDlgEx initialiseert het eigenschappenvenster met behulp van de huidige standaardprinter. Als echter de vlag PD_RETURNDEFAULT is ingesteld en zowel hDevMode als hDevNames NULL zijn, PrintDlgEx gebruikt de hDevNames en hDevMode leden om informatie te retourneren over de huidige standaardprinter zonder het eigenschappenvenster weer te geven.

Tijdens de uitvoering van PrintDlgEx, de DEVMODE en DEVNAMES structuren die u hebt opgegeven in de PRINTDLGEX structuur kunnen niet altijd actuele gegevens bevatten. Om deze reden, toepassingsspecifieke eigenschappenpagina's evenals IPrintDialogCallback routines voor de eerste pagina moeten de IPrintDialogServices interface gebruiken voor het ophalen van informatie over de status van de huidige printer.

Syntaxisinfo

nbsp;†Windows &NT: versie 5.0 of hoger vereist.
Windows:Niet-ondersteunde.
Windows CE:Niet-ondersteunde.
Header:Verklaard in commdlg.h.
Bibliotheek importeren:Gebruik comdlg32.lib.
Unicode:Gedefinieerd als Unicode en ANSI structuren.

Zie ook

Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx

Index