[Dette er foreløpige dokumentasjonen og endring.]
PRINTDLGEX -strukturen inneholder informasjon som PrintDlgEx -funksjonen til å initialisere egenskapsarket Skriv ut . Når brukeren lukker egenskapsarket, bruker systemet denne strukturen vil returnere informasjon om brukerens valg.
typeDef struct tagPDEX {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flagg;
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
Hvis hDevMode er NULL på innspill, PrintDlgEx tildeler minne for den definerte strukturen DEVMODE , initialiserer sine medlemmer å angi brukerens inndata, og returnerer et håndtak som identifiserer det.
Hvis du vil ha mer informasjon om hDevMode og hDevNames -medlemmer, kan du se delen Merknader på slutten av dette emnet.
HDevNames -medlem kan være NULL, i så fall, PrintDlgEx tildeler minne for DEVNAMES strukturen, initializes som sine medlemmer å angi brukeren er inndata, og returnerer en håndtak som identifiserer det.
Hvis du vil ha mer informasjon om hDevMode og hDevNames -medlemmer, kan du se delen Merknader på slutten av dette emnet.
| PD_ALLPAGES | |
| Standardflagg som angir at alle alternativknappen velges først. Dette flagget brukes som en plassholder for å indikere at flaggene PD_PAGENUMS, PD_SELECTION og PD_CURRENTPAGE ikke er angitt. | |
| PD_COLLATE | |
| Hvis dette flagget er angitt, er merket av for avmerkingsboksen Kollater. Hvis dette flagget er angitt når funksjonen PrintDlgEx returnerer, må programmet simulere måltidet av flere kopier. Hvis du vil ha mer informasjon, kan du se beskrivelsen av PD_USEDEVMODECOPIESANDCOLLATE-flagg. |
|
| PD_CURRENTPAGE | |
| Hvis dette flagget er angitt, velges Gjeldende side alternativknappen. Hvis ingen av flaggene PD_PAGENUMS, PD_SELECTION eller PD_CURRENTPAGE er angitt, er alle alternativknappen valgt. | |
| PD_DISABLEPRINTTOFILE | |
| Deaktiverer avmerkingsboksen Skriv til fil. | |
| PD_ENABLEPRINTTEMPLATE | |
| Angir at hInstance og lpPrintTemplateName -medlemmer angir en erstatning for standardmalen for dialogboksen-boksen i den nederste delen av siden Generelt . Standardmalen inneholder kontroller som ligner innrykkene for dialogboksen Skriv ut . Systemet bruker den oppgitte malen til å opprette et vindu som er underordnet den generelle siden. | |
| PD_ENABLEPRINTTEMPLATEHANDLE | |
| Angir at medlemmet hInstance identifiserer en datablokk som inneholder en mal for forhåndslagrede dialogboksen-boksen. Denne malen erstatter dialogboksen boksen standardmalen i den lavere delen av siden Generelt . Systemet bruker den oppgitte malen til å opprette et vindu som er underordnet den generelle siden. Systemet ignorerer medlemmet lpPrintTemplateName Hvis dette flagget er angitt. | |
| PD_EXCLUSIONFLAGS | |
| Angir at medlemmet ExclusionFlags identifiserer elementer som skal utelates fra egenskapssider for skriveren-driveren. Hvis dette flagget ikke er angitt, vil elementer utelates fra egenskapssider for skriveren-driveren som standard. Utestenginger unngå duplisering av elementer blant siden Generelt , sider som er angitt av programmet og utskriftssider for driveren. | |
| PD_HIDEPRINTTOFILE | |
| Skjuler merket for Skriv til fil. | |
| PD_NOCURRENTPAGE | |
| Deaktiverer alternativknappen Gjeldende side. | |
| PD_NOPAGENUMS | |
| Deaktiverer alternativknappen sider og tilknyttede redigeringskontrollene. | |
| PD_NOSELECTION | |
| Deaktiverer alternativknappen utvalg. | |
| PD_NOWARNING | |
| Hindrer at advarselen vises når en feil oppstår. | |
| PD_PAGENUMS | |
| Hvis dette flagget er angitt, er alternativknappen sider valgt. Hvis ingen av flaggene PD_PAGENUMS, PD_SELECTION eller PD_CURRENTPAGE er angitt, er alle alternativknappen valgt. Hvis dette flagget er angitt når funksjonen PrintDlgEx returnerer, angir lpPageRanges -medlem sideområder som er angitt av brukeren. |
|
| PD_PRINTTOFILE | |
| Hvis dette flagget er angitt, er det merket av for alternativet Skriv til fil. Hvis dette flagget er angitt når PrintDlgEx kommer tilbake, forskyvningen som er angitt av wOutputOffset -medlemmet av DEVNAMES strukturen inneholder strengen "fil:". Når du kaller den StartDoc -funksjonen til å starte utskrift operasjonen, angir dette "fil:" streng i lpszOutput medlem av den DOCINFO struktur. Å angi denne strengen forårsaker Skriverdelsystemet å spørre brukeren etter navnet på utdatafilen. |
|
| PD_RETURNDC | |
| Fører til PrintDlgEx til å returnere en enhetskontekst som samsvarer med valgene brukeren gjorde i egenskapsarket. Enheten sammenheng returneres i hDC. | |
| PD_RETURNDEFAULT | |
| Hvis dette flagget er angitt, vises ikke funksjonen PrintDlgEx egenskapsarket. I stedet, det setter hDevNames og hDevMode medlemmene til referanser til DEVMODE og DEVNAMES strukturer som er initialisert for standardskriveren for systemet. Både hDevNames og hDevMode må være NULL eller PrintDlgEx returnerer en feil. | |
| PD_RETURNIC | |
| Analog med PD_RETURNDC-flagg, bortsett fra dette flagget returnerer en kontekst for informasjon i stedet for en enhetskontekst. Hvis verken PD_RETURNDC eller PD_RETURNIC er angitt, hDC er ikke definert for utdata. | |
| PD_SELECTION | |
| Hvis dette flagget er angitt, er alternativknappen utvalg valgt. Hvis ingen av flaggene PD_PAGENUMS, PD_SELECTION eller PD_CURRENTPAGE er angitt, er alle alternativknappen valgt. |
|
| PD_USEDEVMODECOPIES | |
| Samme som PD_USEDEVMODECOPIESANDCOLLATE | |
| PD_USEDEVMODECOPIESANDCOLLATE | |
| Dette flagget angir om programmet støtter flere kopier og måltidet. Angi dette flagget på inndata for å angi at programmet ikke støtter flere kopier og måltidet. I dette tilfellet returnerer nCopies medlem av PRINTDLGEX -strukturen alltid 1, og PD_COLLATE er aldri satt i flagg -medlem. Hvis dette flagget ikke er angitt, er programmet som er ansvarlig for utskrift og samordning av flere kopier. I dette tilfellet nCopies medlem av PRINTDLGEX -strukturen angir antall eksemplarer brukeren ønsker å skrive ut, og PD_COLLATE-flagget i medlemmet flagg angir om brukeren ønsker sammenlikning. Et program kan finne ut fra nCopies og PD_COLLATE hvor mange eksemplarer du vil gjengi uansett om dette flagget er angitt, og om du vil skrive dem ut Kollatert. Hvis dette flagget er angitt, og skriverdriveren støtter ikke flere kopier, er Kopier redigeringskontrollen deaktivert. På samme måte, hvis dette flagget er angitt, og skriverdriveren støtter ikke sortering, avkrysningsruten Sorter er deaktivert. DmCopies og dmCollate medlemmer av den strukturen DEVMODE inneholder kopiene og kollatere informasjon som brukes av skriverdriveren. Hvis dette flagget er angitt, og skriverdriveren støtter flere kopier, angir medlemmet dmCopies hvor mange kopier som er forespurt av brukeren. Hvis dette flagget er angitt, og skriverdriveren støtter sortering, angir dmCollate -medlem på strukturen DEVMODE om brukeren ønsker sammenlikning. Hvis dette flagget ikke er angitt, dmCopies -medlem returnerer alltid 1, og dmCollate -medlem er alltid null. |
|
| PD_EXCL_COPIESANDCOLLATE | |
| Ekskluderer eksemplarer og Sorter kontrollene fra egenskapssider for skriveren-driveren i et egenskapsark for utskrift . Dette flagget bør alltid angis når programmet bruker standard eksemplarer og Sorter kontrollene levert av nedre del av den generelle siden i egenskapsarket Skriv ut. | |
Hvis flagget PD_NOPAGENUMS er angitt, er denne verdien ikke gyldig. Hvis flagget PD_NOPAGENUMS ikke er angitt, må lpPageRanges være ikke-NULL.
Når PrintDlgEx kommer tilbake, inneholder det faktiske antallet Kopier programmet må skrive ut i nCopies . Denne verdien, avhengig av om programmet eller skriverdriveren er ansvarlig for å skrive ut flere eksemplarer. Hvis flagget PD_USEDEVMODECOPIESANDCOLLATE er angitt i flagg -medlem, nCopies er alltid 1 kom tilbake, og skriverdriveren er ansvarlig for å skrive ut flere eksemplarer. Hvis flagget ikke er angitt, er programmet som er ansvarlig for å skrive ut hvor mange kopier som er angitt av nCopies. Hvis du vil ha mer informasjon, kan du se beskrivelsen av PD_USEDEVMODECOPIESANDCOLLATE-flagg.
Objektet skal inneholde IPrintDialogCallback -klassen til å motta meldinger for dialogboksen for barn i den nederste delen av siden Generelt.
Tilbakeringingsobjekt bør også inneholde den IObjectWithSite -klassen til å motta en peker til IPrintDialogServices -grensesnittet. Funksjonskall PrintDlgEx QueryInterface på Tilbakeringingsobjekt for både IID_IPrintDialogCallback og IID_IObjectWithSite for å finne ut hvilke grensesnitt støttes.
Hvis du ikke vil hente noe av informasjonen for tilbakeringing, kan du angi lpCallback til NULL.
| Verdi | Betydning |
|---|---|
| PD_RESULT_APPLY | Brukeren klikket Bruk -knappen og senere Avbryt -knappen. Dette angir at brukeren ønsker å bruke endringene som er gjort i egenskapsarket, men ikke ønsker å skrive ut ennå. PRINTDLGEX -strukturen inneholder informasjonen som er angitt av brukeren på tiden ble klikket Bruk -knappen. |
| PD_RESULT_CANCEL | Brukeren klikket Avbryt -knappen. Informasjonen i PRINTDLGEX -strukturen er uendret. |
| PD_RESULT_PRINT | Brukeren klikket på knappen Skriv ut . PRINTDLGEX -strukturen inneholder informasjon som er angitt av brukeren. |
Når du kaller funksjonen PrintDlgEx , bør du kontrollere at wDeviceOffset -medlem av DEVNAMES strukturen er identisk til dmDeviceName medlem av den strukturen DEVMODE . Hvis disse medlemmene ikke angir den samme skriveren, initialiserer PrintDlgEx egenskapsarket ved hjelp av skriveren som er angitt av wDeviceOffset -medlemmet.
Hvis både hDevMode og hDevNames er NULL, initialiserer PrintDlgEx vanligvis egenskapsarket ved hjelp av den gjeldende standardskriveren. Hvis de Flagget PD_RETURNDEFAULT er satt, og både hDevMode og hDevNames er NULL, bruker imidlertid PrintDlgEx hDevNames og hDevMode -medlemmer til å returnere informasjon om den gjeldende standardskriveren uten å vise egenskapsarket.
Under kjøring av PrintDlgEx, den DEVMODE og DEVNAMES strukturer som er angitt i PRINTDLGEX -strukturen ikke alltid inneholder gjeldende data. Derfor bør programspesifikke egenskapssider, så vel som IPrintDialogCallback rutiner for startsiden bruke IPrintDialogServices -grensesnittet til å hente informasjon om statusen for den gjeldende skriveren.
nbsp; Windows &NT: krever versjon 5.0 eller senere.
Windows:Som ikke støttes.
Windows CE:Som ikke støttes.
Topptekst:Deklarert i commdlg.h.
Importere biblioteket:Bruk comdlg32.lib.
Unicode:Definert som Unicode- og ANSI-strukturer.
Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx