Structura PRINTDLG conține informații care utilizează funcția PrintDlg pentru a inițializa de caseta de dialog tipărire . După ce utilizatorul se închide caseta de dialog, sistemul utilizează această structură pentru a returna informații despre selecțiile utilizatorului.
typedef struct tagPD {/ / pd DWORD lStructSize;
HWND hwndOwner;
MÂNER hDevMode;
MÂNER hDevNames;
HDC hDC;
DWORD Steaguri;
WORD nFromPage;
WORD nToPage;
WORD nMinPage;
WORD nMaxPage;
WORD nCopies;
HINSTANCE hInstance;
DWORD lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCTSTR lpPrintTemplateName;
LPCTSTR lpSetupTemplateName;
MÂNER hPrintTemplate;
MÂNER hSetupTemplate;
} PRINTDLG
În cazul în care hDevMode este NULL la intrare, PrintDlg alocă memorie pentru structura mod dezvoltare , inițializează membrii săi pentru a indica utilizatorului intrare și returnează un mâner care îl identifică.
Dacă driverul de dispozitiv pentru imprimanta specificată nu acceptă modurile dispozitiv extinsă, hDevMode este NULL când PrintDlg întoarce.
Dacă numele dispozitivului (specificate de membru dmDeviceName mod dezvoltare structura) nu apare în secțiunea [devices] de a câștiga.INI, PrintDlg returnează o eroare.
Pentru mai multe informații despre membrii hDevMode ?i hDevNames , vezi secțiunea observații de la sfârșitul acestui subiect.
Membru hDevNames poate fi NULL, caz în care, PrintDlg alocă memorie pentru structura DEVNAMES , initializes membrii săi pentru a indica utilizatorului de intrare, și îl returnează un mâner care identifică.
Pentru mai multe informații despre membrii hDevMode ?i hDevNames , vezi secțiunea observații de la sfârșitul acestui subiect.
PD_ALLPAGES | |
Drapelul implicit care indică faptul că butonul radio toate ini?ial este selectată. Acest flag este utilizat ca un substituent pentru a indica faptul că nu sunt specificate steagurile PD_PAGENUMS ?i PD_SELECTION. | |
PD_COLLATE | |
Dacă acest flag este setată, este selectată caseta de selectare de asamblare. Dacă acest flag este setat când funcția PrintDlg , cererea trebuie să simuleze collation de mai multe copii. Pentru mai multe informații, vezi descrierea pavilion PD_USEDEVMODECOPIESANDCOLLATE. |
|
PD_DISABLEPRINTTOFILE | |
Dezactivează caseta de selectare Imprimare în fișier. | |
PD_ENABLEPRINTHOOK | |
Permite cârlig procedura specificată în membre lpfnPrintHook . Acest lucru permite procedura cârlig pentru caseta de dialog Imprimare. | |
PD_ENABLEPRINTTEMPLATE | |
Indică faptul că membrii hInstance și lpPrintTemplateName specificați un înlocuitor pentru șablonul implicit al caseta de dialog Imprimare. | |
PD_ENABLEPRINTTEMPLATEHANDLE | |
Indică faptul că hPrintTemplate membre identifică un bloc de date care conține un șablon de caseta de preloaded dialog. Acest șablon înlocuiește șablonul implicit pentru caseta de dialog Imprimare . Sistemul ignoră membru lpPrintTemplateName dacă acest flag este specificat. | |
PD_ENABLESETUPHOOK | |
Permite cârlig procedura specificată în membre lpfnSetupHook . Acest lucru permite procedura cârlig pentru caseta de dialog Configurare tipărire. | |
PD_ENABLESETUPTEMPLATE | |
Indică faptul că membrii hInstance și lpSetupTemplateName specificați un înlocuitor pentru șablonul implicit al caseta de dialog configurare . | |
PD_ENABLESETUPTEMPLATEHANDLE | |
Indică faptul că hSetupTemplate membre identifică un bloc de date care conține un șablon de caseta de preloaded dialog. Acest șablon înlocuiește șablonul implicit pentru caseta de dialog Configurare tipărire . Sistemul ignoră membru lpSetupTemplateName dacă acest flag este specificat. | |
PD_HIDEPRINTTOFILE | |
Ascunde caseta de selectare Imprimare în fișier. | |
PD_NONETWORKBUTTON | |
Ascunde și dezactivează butonul rețea. | |
PD_NOPAGENUMS | |
Dezactivează butonul radio pagini și controalele de editare asociate. | |
PD_NOSELECTION | |
Dezactivează butonul radio de selecție. | |
PD_NOWARNING | |
Împiedică afișarea atunci când nu există nici o imprimantă implicită mesajul de avertizare. | |
PD_PAGENUMS | |
Dacă acest flag este setat, este selectat butonul radio pagini. Dacă acest flag este setat atunci când funcția de PrintDlg , nFromPage și nFromPage membri indică început și de sfârșit pagini specificate de utilizator. |
|
PD_PRINTSETUP | |
Cauzele sistemul pentru a afișa caseta de dialog Configurare tipărire , mai degrabă decât caseta de dialog Imprimare. | |
PD_PRINTTOFILE | |
Dacă acest flag este setată, este selectată caseta de selectare Imprimare în fișier. Dacă acest flag este setat când funcția PrintDlg , decalajul indicată de statul membru de wOutputOffset din structura DEVNAMES conține șirul "FIȘIER:". Când apelați StartDoc funcție pentru a începe opera?ia de tipărire, specificați acest lucru "FIȘIER:" șir membru lpszOutput de DOCINFO structura. Specificarea acest șir provoacă subsistemul de imprimare interogarea utilizatorului pentru numele de fișierul de ieșire. |
|
PD_RETURNDC | |
Cauzele PrintDlg pentru a reveni un context de dispozitiv potrivire selecțiile utilizatorului în caseta de dialog. Contextul dispozitiv este returnat în hDC. | |
PD_RETURNDEFAULT | |
Dacă acest flag este setată, funcția PrintDlg nu se afișează caseta de dialog. În schimb, stabilește membrii hDevNames și hDevMode la ghidaje pentru structurile mod dezvoltare și DEVNAMES care sunt inițializate pentru imprimantă implicită sistem. Ambele hDevNames și hDevMode trebuie să fie nul, sau PrintDlg returnează o eroare. Dacă imprimanta implicită sistem este susținută de un vechi driver de imprimantă (mai devreme ferestre traducere 3.0), este întors doar hDevNames ; hDevMode este NULL. |
|
PD_RETURNIC | |
Similar cu drapelul PD_RETURNDC, cu excepția acest flag întoarce un context de informații, mai degrabă decât un context de dispozitiv. Dacă nu este specificat nici PD_RETURNDC, nici PD_RETURNIC, hDC este nedefinit pe ieșire. | |
PD_SELECTION | |
Dacă acest flag este setat, este selectat butonul radio de selecție. Dacă este setat nici PD_PAGENUMS, nici PD_SELECTION, este selectat butonul radio toate. |
|
PD_SHOWHELP | |
Cauzele caseta de dialog pentru a afișa butonul Ajutor . Membru hwndOwner trebuie să specificați fereastra pentru a primi HELPMSGSTRING înregistrat mesaje care caseta de dialog trimite atunci când utilizatorul face clic pe butonul Ajutor. | |
PD_USEDEVMODECOPIES | |
Acela?i ca PD_USEDEVMODECOPIESANDCOLLATE | |
PD_USEDEVMODECOPIESANDCOLLATE | |
Acest flag indică dacă aplicația acceptă mai multe copii ?i asamblare. Setați acest flag pe intrare pentru a indica faptul că aplicația nu acceptă mai multe copii ?i asamblare. În acest caz, membrul nCopies structura PRINTDLG întoarce întotdeauna 1, și PD_COLLATE nu este setată în membre steaguri. Dacă acest flag nu este setată, cererea este responsabil pentru imprimarea ?i compilarea mai multe copii. În acest caz, membrul nCopies structura PRINTDLG indică numărul de copii care utilizatorul dorește să imprimați și pavilion PD_COLLATE membru steaguri indică dacă utilizatorul dorește asamblare. Indiferent dacă acest flag este setat, cererea poate determina, la nCopies și PD_COLLATE câte copii pentru a face și dacă să le imprimați comparate. Dacă acest flag este stabilit și driverul de imprimantă nu acceptă mai multe copii, copii Editare controlul este dezactivat. În mod similar, dacă acest flag este stabilit și driverul de imprimantă nu acceptă asamblare, caseta de selectare de asamblare este dezactivat. Membrii dmCopies și dmCollate mod dezvoltare structura conține copii și adună informa?ii utilizate de driverul de imprimantă. Dacă acest flag este stabilit și driverul de imprimantă acceptă mai multe copii, membru dmCopies indică numărul de exemplare solicitat de către utilizator. Dacă acest flag este stabilit și driverul de imprimantă acceptă asamblare, membru dmCollate din structura mod dezvoltare indică dacă utilizatorul dorește asamblare. Dacă acest flag nu este setată, membru dmCopies întoarce întotdeauna 1, și dmCollate este întotdeauna zero. |
Atunci când PrintDlg întoarce, nFromPage este pagina de început specificată de utilizator. Dacă este selectat butonul radio de pagini , atunci când utilizatorul face clic pe butonul OK , seturi de PrintDlg PD_PAGENUMS de pavilion și nu întoarce până la utilizatorul introduce o valoare pagină pornire, care este în termen minim la interval de pagini maximă.
Windows 95: Dacă valoarea de intrare pentru nFromPage sau nToPage este în afara domeniului specificat de nMinPage și nMaxPage, PrintDlg returnează o eroare.
Windows NT: Dacă intrarea valoare pentru nFromPage sau nToPage este în afara intervalului minim/maxim, PrintDlg returnează o eroare numai dacă este specificat pavilion PD_PAGENUMS; în caz contrar, se afișează caseta de dialog dar modifică valoarea afară-de-gama de la valoarea minimă sau maximă.
Atunci când se întoarce de PrintDlg , nToPage este pagina de sfârșit specificată de utilizator. Dacă este selectat butonul radio pagini , atunci când utilizarea pocnitură bine nasture, seturi de PrintDlg PD_PAGENUMS de pavilion și nu întoarce până la utilizatorul introduce o valoare sfârșit pagină, care este în termen minim la interval de pagini maximă.
Când apelați funcția PrintDlg , fi sigur că membrul wDeviceOffset structura DEVNAMES este identic cu membrul dmDeviceName mod dezvoltare structura. În cazul în care acești membri nu specificați aceleași imprimanta, PrintDlg inițializează caseta de dialog utilizând imprimanta specificată de membru wDeviceOffset.
De obicei, în cazul în care ambele hDevMode și hDevNames sunt NULL, PrintDlg inițializează caseta de dialog utilizând imprimanta implicită curentă. Cu toate acestea, în cazul în care pavilion PD_RETURNDEFAULT este stabilit și atât hDevMode , cât și hDevNames sunt NULL, PrintDlg utilizează membrii hDevNames și hDevMode pentru a returna informații despre imprimantă implicită curentă fără a afișa caseta de dialog.
nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Necesită versiunea 1.0 sau mai târziu.
Antet:A declarat în winspool.h.
Unicode:Definit ca structurile Unicode și ANSI.
Comune Dialog casetă de prezentare biblioteca, structuri comune de caseta de Dialog, CreateDC, CreateIC, PrintDlg, mod dezvoltare, DEVNAMES, WM_INITDIALOG