PRINTDLG

PRINTDLG -strukturen inneholder informasjon som PrintDlg -funksjonen til å initialisere i dialogboksen Skriv ut . Når brukeren lukker dialogboksen, bruker systemet denne strukturen vil returnere informasjon om brukerens valg.

typeDef struct tagPD {/ / pd DWORD lStructSize; 
    HWND hwndOwner; 
    HÅNDTERE hDevMode; 
    HÅNDTERE hDevNames; 
    HDC hDC; 
    DWORD Flagg; 
    WORD nFromPage; 
    WORD nToPage; 
    WORD nMinPage; 
    WORD nMaxPage; 
    WORD nCopies; 
    HINSTANCE hInstance; 
    DWORD lCustData; 
    LPPRINTHOOKPROC lpfnPrintHook; 
    LPSETUPHOOKPROC lpfnSetupHook; 
    LPCTSTR lpPrintTemplateName; 
    LPCTSTR lpSetupTemplateName; 
    HÅNDTERE hPrintTemplate; 
    HÅNDTERE hSetupTemplate; 
} PRINTDLG 

 

Medlemmer

lStructSize
Angir strukturen størrelsen, i byte.
hwndOwner
Identifiserer vinduet som eier dialogboksen. Dette medlemmet kan være en hvilken som helst gyldig vindus-handle, eller det kan være NULL Hvis dialogboksen har ingen eier.
hDevMode
Håndtere til et bevegelig globale minne-objekt som inneholder en strukturen DEVMODE . Hvis hDevMode ikke er NULL på innspill, må du tildele en bevegelig blokk med minne for den definerte strukturen DEVMODE og initialisere sine medlemmer. PrintDlg -funksjonen bruker input datato initialiseringen kontrollene i dialogboksen. Når PrintDlg kommer tilbake, angi DEVMODE -medlemmer brukerens inndata.

Hvis hDevMode er NULL på innspill, PrintDlg tildeler minne for den definerte strukturen DEVMODE , initialiserer sine medlemmer å angi brukerens inndata, og returnerer et håndtak som identifiserer det.

Hvis enhetsdriveren for den angitte skriveren ikke støtter utvidede enheten modi, er hDevMode NULL når PrintDlg returnerer.

Hvis enhetsnavnet (angitt av dmDeviceName -medlemmet av den strukturen DEVMODE ) vises ikke i delen [devices] i seier.INI, PrintDlg returnerer en feil.

Hvis du vil ha mer informasjon om hDevMode og hDevNames -medlemmer, kan du se delen Merknader på slutten av dette emnet.

hDevNames
Håndtere til et bevegelig globale minne-objekt som inneholder en DEVNAMES struktur. Hvis hDevNames ikke er NULL på innspill, må du tildele en bevegelig blokk med minne for DEVNAMES strukturen og initialisere sine medlemmer. PrintDlg -funksjonen bruker input datato initialiseringen kontrollene i dialogboksen. Når PrintDlg kommer tilbake, inneholder DEVNAMES medlemmene informasjon for skriveren som er valgt av brukeren. Du kan bruke denne informasjonen til å opprette en enhetskontekst eller en informasjon-kontekst.

HDevNames -medlem kan være NULL, i så fall, PrintDlg 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.

hDC
Identifiserer en enhetskontekst eller en informasjon-kontekst, avhengig av om medlemmet flagg angir flagget PD_RETURNDC eller PC_RETURNIC. Hvis verken flagget er angitt, er verdien for dette medlemmet er ikke definert. Hvis begge flagg er angitt, har PD_RETURNDC prioritet.
Flagg
Et sett med Bitflagg som du kan bruke til å initialisere felles dialogboksen Skriv ut . Når dialogboksen returnerer, setter det disse flaggene for å angi brukerens inndata. Dette medlemmet kan være en kombinasjon av følgende flagg:
PD_ALLPAGES
Standardflagg som angir at alle alternativknappen velges først. Dette flagget brukes som en plassholder for å angi at flaggene PD_PAGENUMS og PD_SELECTION ikke er angitt.
PD_COLLATE
Hvis dette flagget er angitt, er merket av for avmerkingsboksen Kollater.

Hvis dette flagget er angitt når funksjonen PrintDlg returnerer, må programmet simulere måltidet av flere kopier. Hvis du vil ha mer informasjon, kan du se beskrivelsen av PD_USEDEVMODECOPIESANDCOLLATE-flagg.

PD_DISABLEPRINTTOFILE
Deaktiverer avmerkingsboksen Skriv til fil.
PD_ENABLEPRINTHOOK
Aktiverer hook-prosedyre som er angitt i lpfnPrintHook -medlem. Dette gjør at Bindingsprosedyren for dialogboksen Skriv ut.
PD_ENABLEPRINTTEMPLATE
Angir at hInstance og lpPrintTemplateName -medlemmer angir en erstatning for Skriv ut dialogboksen boksen standardmalen.
PD_ENABLEPRINTTEMPLATEHANDLE
Angir at medlemmet hPrintTemplate identifiserer en datablokk som inneholder en mal for forhåndslagrede dialogboksen-boksen. Denne malen erstatter standardmalen for dialogboksen Skriv ut . Systemet ignorerer medlemmet lpPrintTemplateName Hvis dette flagget er angitt.
PD_ENABLESETUPHOOK
Aktiverer hook-prosedyre som er angitt i lpfnSetupHook -medlem. Dette gjør at Bindingsprosedyren for dialogboksen Skriveroppsett.
PD_ENABLESETUPTEMPLATE
Angir at hInstance og lpSetupTemplateName -medlemmer angir en erstatning for Print installasjonsprogrammet dialogboksen boksen standardmalen.
PD_ENABLESETUPTEMPLATEHANDLE
Angir at medlemmet hSetupTemplate identifiserer en datablokk som inneholder en mal for forhåndslagrede dialogboksen-boksen. Denne malen erstatter standardmalen for i dialogboksen Skriveroppsett . Systemet ignorerer medlemmet lpSetupTemplateName Hvis dette flagget er angitt.
PD_HIDEPRINTTOFILE
Skjuler merket for Skriv til fil.
PD_NONETWORKBUTTON
Skjuler og deaktiverer knappen nettverk.
PD_NOPAGENUMS
Deaktiverer alternativknappen sider og tilknyttede redigeringskontrollene.
PD_NOSELECTION
Deaktiverer alternativknappen utvalg.
PD_NOWARNING
Hindrer at advarselen vises når det er no default printer.
PD_PAGENUMS
Hvis dette flagget er angitt, er alternativknappen sider valgt.

Hvis dette flagget er angitt når funksjonen PrintDlg returnerer, angir nFromPage og nFromPage medlemmer start- og Sluttsiden som er angitt av brukeren.

PD_PRINTSETUP
Systemet å vise dialogboksen Skriv ut i stedet for dialogboksen Skriv ut.
PD_PRINTTOFILE
Hvis dette flagget er angitt, er det merket av for alternativet Skriv til fil.

Hvis dette flagget er angitt når funksjonen PrintDlg returnerer, 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 PrintDlg til å returnere en enhetskontekst som samsvarer med valgene brukeren gjorde i dialogboksen. Enheten sammenheng returneres i hDC.
PD_RETURNDEFAULT
Hvis dette flagget er angitt, vises ikke funksjonen PrintDlg i dialogboksen. 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 PrintDlg returnerer en feil.

Hvis den standard systemskriveren støttes av en gammel skriverdriver (tidligere enn Windows versjon 3.0), returneres bare hDevNames ; hDevMode er NULL.

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 verken PD_PAGENUMS eller PD_SELECTION er angitt, er alle alternativknappen valgt.

PD_SHOWHELP
Fører til dialogboksen for å vise Hjelp -knappen. HwndOwner -medlem må angi i vinduet for å motta HELPMSGSTRING registrert meldinger som dialogboksen sender når brukeren klikker Hjelp -knappen.
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 PRINTDLG -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 PRINTDLG -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.


nFromPage
Angir startverdien for start siden redigeringskontrollen.

Når PrintDlg kommer tilbake, er nFromPage startsiden som er angitt av brukeren. Hvis alternativknappen sider er valgt når brukeren klikker OK -knappen, PrintDlg sett PD_PAGENUMS flagg og ikke gå tilbake til brukeren skriver inn en startverdi i siden, som er innenfor laveste som skal maksimal sideområde.

Windows 95: Hvis inndataverdien for enten nFromPage eller nToPage er utenfor området som angis av nMinPage og nMaxPage, returnerer PrintDlg en feil.

Windows NT: Hvis inndataverdi for enten nFromPage eller nToPage er utenfor området for minimums/maksimumsnøkler, PrintDlg returnerer en feil bare hvis flagget PD_PAGENUMS er angitt; Ellers vises dialogboksen men endres ut-av-omfang verdien til den minste eller største verdien.

nToPage
Angir startverdien for sluttsporet siden redigeringskontrollen.

Når PrintDlg kommer tilbake, er nToPage den siste siden som er angitt av brukeren. Hvis alternativknappen sider er valgt når bruk klikker OK -knappen, PrintDlg sett PD_PAGENUMS flagg og ikke gå tilbake til brukeren skriver inn en siste side-verdi som er innenfor laveste som skal maksimal sideområde.

nMinPage
Angir minimumsverdien for sideområdet som er angitt i fra - og til siden redigeringskontrollene. Hvis nMinPage er lik nMaxPage, er alternativknappen sider og den første og siste side-redigeringskontroller deaktivert.
nMaxPage
Angir maksimumsverdien for sideområdet som er angitt i redigeringskontrollene fra og til siden.
nCopies
Inneholder innledende antall eksemplarer for redigeringskontrollen Kopier Hvis hDevMode er NULL; ellers dmCopies medlem av den strukturen DEVMODE inneholder startverdien. Når PrintDlg kommer tilbake, inneholder nCopies det faktiske antallet eksemplarer du vil skrive ut. 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.
hInstance
Hvis flagget PD_ENABLEPRINTTEMPLATE eller PD_ENABLESETUPTEMPLATE er angitt i flagg -medlem, er hInstance håndtaket på programmet eller modul-forekomsten som inneholder dialogboksen boksen malen kalt av medlemmet lpPrintTemplateName eller lpSetupTemplateName.
lCustData
Angir en programdefinert data som systemet sender til Bindingsprosedyren identifisert av lpfnPrintHook eller lpfnSetupHook -medlem. Når systemet sender meldingen WM_INITDIALOG til Bindingsprosedyren, er meldingens lParam -parameteren en peker til PRINTDLG strukturen angitt da dialogboksen ble opprettet. Bindingsprosedyren kan bruke denne pekeren til å hente verdien lCustData.
lpfnPrintHook
Pekeren til en PrintHookProc hook-prosedyre som kan behandle meldinger som er ment for dialogboksen Skriv ut . Dette medlemmet ignoreres hvis ikke flagget PD_ENABLEPRINTHOOK er angitt i flagg -medlem.
lpfnSetupHook
Pekeren til en SetupHookProc hook-prosedyre som kan behandle meldinger som er ment for i dialogboksen Skriveroppsett . Dette medlemmet ignoreres hvis ikke flagget PD_ENABLESETUPHOOK er angitt i flagg -medlem.
lpPrintTemplateName
Pekeren til en null-terminert streng som navngir en dialog-boksen mal ressurs i modulen identifisert av hInstance -medlemmet. Denne malen erstatter Skriv ut dialogboksen boksen standardmalen. Dette medlemmet ignoreres hvis ikke flagget PD_ENABLEPRINTTEMPLATE er angitt i flagg -medlem.
lpSetupTemplateName
Pekeren til en null-terminert streng som navngir en dialog-boksen mal ressurs i modulen identifisert av hInstance -medlemmet. Denne malen erstatter standardmalen Skriveroppsett dialogboksen-boksen. Dette medlemmet ignoreres hvis ikke flagget PD_ENABLESETUPTEMPLATE er angitt i flagg -medlem.
hPrintTemplate
Hvis flagget PD_ENABLEPRINTTEMPLATEHANDLE er angitt i flagg -medlem, er hPrintTemplate håndtak av en minne-objekt som inneholder en mal for dialogboksen-boksen. Denne malen erstatter Skriv ut dialogboksen boksen standardmalen.
hSetupTemplate
Hvis flagget PD_ENABLESETUPTEMPLATEHANDLE er angitt i flagg -medlem, er hSetupTemplate håndtak av en minne-objekt som inneholder en mal for dialogboksen-boksen. Denne malen erstatter standard Skriveroppsett dialogboksen boksen malen.

Merknader

Når du kaller funksjonen PrintDlg , 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 PrintDlg dialogboksen ved hjelp av skriveren som er angitt av wDeviceOffset -medlemmet.

Vanligvis, hvis både hDevMode og hDevNames er NULL, initialiserer PrintDlg dialogboksen ved hjelp av den gjeldende standardskriveren. Hvis de Flagget PD_RETURNDEFAULT er satt, og både hDevMode og hDevNames er NULL, bruker imidlertid PrintDlg hDevNames og hDevMode -medlemmer til å returnere informasjon om den gjeldende standardskriveren uten å vise dialogboksen.

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Krever versjon 1.0 eller senere.
Topptekst:Deklarert i winspool.h.
Unicode:Definert som Unicode- og ANSI-strukturer.

Se også

Felles biblioteket dialogboksoversikt, felles dialogboksen boksen strukturer, CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES, WM_INITDIALOG

Index