[Acest lucru este documenta?ia preliminare și subiect pentru a schimba].
Structura PRINTDLGEX conține informații care utilizează funcția PrintDlgEx pentru a inițializa de Imprimare foaia de proprietăți. După ce utilizatorul se închide foaia de proprietăți, sistemul utilizează această structură pentru a returna informații despre selecțiile utilizatorului.
typedef struct tagPDEX {}
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Steaguri;
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
În cazul în care hDevMode este NULL la intrare, PrintDlgEx alocă memorie pentru structura mod dezvoltare , inițializează membrii săi pentru a indica utilizatorului intrare și returnează un mâner care îl identifică.
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, PrintDlgEx 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, PD_SELECTION și PD_CURRENTPAGE. | |
PD_COLLATE | |
Dacă acest flag este setată, este selectată caseta de selectare de asamblare. Dacă acest flag este setat când funcția PrintDlgEx , cererea trebuie să simuleze collation de mai multe copii. Pentru mai multe informații, vezi descrierea pavilion PD_USEDEVMODECOPIESANDCOLLATE. |
|
PD_CURRENTPAGE | |
Dacă acest flag este setat, este selectat butonul radio Pagina curentă . Dacă nici unul dintre steagurile de PD_PAGENUMS, PD_SELECTION, sau PD_CURRENTPAGE este setat, este selectat butonul radio toate. | |
PD_DISABLEPRINTTOFILE | |
Dezactivează caseta de selectare Imprimare în fișier. | |
PD_ENABLEPRINTTEMPLATE | |
Indică faptul că membrii hInstance și lpPrintTemplateName specificați un înlocuitor pentru șablonul implicit al casetă de dialog în partea de jos a paginii generale . Șablonul implicit conține controale similare cu cele din caseta de dialog Imprimare . Sistemul utilizează șablonul specificat pentru a crea o fereastră care este un copil a paginii generale. | |
PD_ENABLEPRINTTEMPLATEHANDLE | |
Indică faptul că hInstance membre identifică un bloc de date care conține un șablon de caseta de preloaded dialog. Acest șablon înlocuiește șablon implicit de caseta de dialog în partea de jos a paginii generale . Sistemul utilizează șablonul specificat pentru a crea o fereastră care este un copil de pe pagina generale . Sistemul ignoră membru lpPrintTemplateName dacă acest flag este specificat. | |
PD_EXCLUSIONFLAGS | |
Indică faptul că ExclusionFlags membre identifică elementele care se exclud din paginile proprietate driver imprimantă. Dacă acest flag nu este setată, elemente vor fi excluse implicit din paginile proprietate driver imprimantă. Excluderi preveni repetarea elemente printre pagina generale , orice pagini specificate de cerere și paginile de driver de imprimantă. | |
PD_HIDEPRINTTOFILE | |
Ascunde caseta de selectare Imprimare în fișier. | |
PD_NOCURRENTPAGE | |
Dezactivează butonul radio Pagina curentă. | |
PD_NOPAGENUMS | |
Dezactivează butonul radio pagini și controalele de editare asociate. | |
PD_NOSELECTION | |
Dezactivează butonul radio de selecție. | |
PD_NOWARNING | |
Împiedică fiind afișate atunci când o eroare apare mesajul de avertizare. | |
PD_PAGENUMS | |
Dacă acest flag este setat, este selectat butonul radio pagini . Dacă nici unul dintre steagurile de PD_PAGENUMS, PD_SELECTION, sau PD_CURRENTPAGE este setat, este selectat butonul radio toate. Dacă acest flag este setat atunci când funcția de PrintDlgEx , membru lpPageRanges indică pagina intervalele specificate de utilizator. |
|
PD_PRINTTOFILE | |
Dacă acest flag este setată, este selectată caseta de selectare Imprimare în fișier. Dacă acest flag este setat când PrintDlgEx se întoarce, 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 PrintDlgEx pentru a reveni un context de dispozitiv potrivire selecțiile utilizatorului în foaia de proprietăți. Contextul dispozitiv este returnat în hDC. | |
PD_RETURNDEFAULT | |
Dacă acest flag este setată, funcția PrintDlgEx nu afișați foaia de proprietăți. Î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 PrintDlgEx returnează o eroare. | |
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ă nici unul dintre steagurile de PD_PAGENUMS, PD_SELECTION, sau PD_CURRENTPAGE este setat, este selectat butonul radio toate. |
|
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 PRINTDLGEX î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 PRINTDLGEX 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. |
PD_EXCL_COPIESANDCOLLATE | |
Exclude controalele de copii ?i asamblare din driverul imprimantei proprietate paginile într-o foaie de proprietate de Imprimare . Acest flag întotdeauna trebuie stabilite atunci când aplicația utilizează comenzile implicit de copii ?i asamblare prevăzute de partea de jos a paginii generale din foaia de proprietăți de Imprimare. |
Dacă este specificat de pavilion PD_NOPAGENUMS, această valoare nu este validă. Dacă pavilion PD_NOPAGENUMS nu este specificat, lpPageRanges trebuie să fie non-NULL.
Atunci când se întoarce de PrintDlgEx , nCopies conține numărul real de copii aplicarea trebuie să imprimați. Această valoare depinde dacă cererea sau driverul de imprimantă este responsabil pentru tipărirea mai multor copii. Dacă pavilion PD_USEDEVMODECOPIESANDCOLLATE este setat în membre steaguri , nCopies este întotdeauna 1 la întoarcerea și driverul de imprimantă este responsabil pentru tipărirea mai multor copii. Dacă drapelul nu este setată, cererea este responsabil pentru imprimarea un număr de copii stabilit de nCopies. Pentru mai multe informații, vezi descrierea pavilion PD_USEDEVMODECOPIESANDCOLLATE.
Obiectul trebuie să con?ină clasa IPrintDialogCallback pentru a primi mesaje pentru caseta de dialog copil în partea de jos a paginii generale.
Obiectul de apel invers trebuie să con?ină, de asemenea, IObjectWithSite clasa pentru a primi un pointer la interfața IPrintDialogServices . Apelări de funcții PrintDlgEx QueryInterface pe obiect de apel invers pentru IID_IPrintDialogCallback ?i IID_IObjectWithSite , pentru a determina care interfe?e sunt acceptate.
Dacă nu doriți să regăsiți oricare dintre informațiile de apel invers, setați lpCallback la NULL.
Valoarea | Sensul |
---|---|
PD_RESULT_APPLY | Utilizatorul a făcut clic pe butonul aplicare și mai târziu ați făcut clic pe butonul Revocare . Acest lucru indică faptul că utilizatorul dorește să aplice modificările făcute în foaia de proprietăți, dar nu doriți să imprimați încă. Structura PRINTDLGEX con?ine informa?iile specificate de utilizator în momentul a fost făcut clic pe butonul aplicare. |
PD_RESULT_CANCEL | Utilizatorul face clic pe butonul Revocare . Informațiile din structura PRINTDLGEX este neschimbată. |
PD_RESULT_PRINT | Utilizatorul face clic pe butonul Imprimare . Structura PRINTDLGEX con?ine informa?iile specificate de utilizator. |
Când apelați funcția PrintDlgEx , 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, PrintDlgEx inițializează foaia de proprietăți utilizând imprimanta specificată de membru wDeviceOffset.
De obicei, în cazul în care ambele hDevMode și hDevNames sunt NULL, PrintDlgEx inițializează foaia de proprietăți 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, PrintDlgEx utilizează membrii hDevNames și hDevMode pentru a returna informații despre imprimantă implicită curentă fără a afișa foaia de proprietăți.
În timpul executării PrintDlgEx, mod dezvoltare și DEVNAMES structurile specificată în structura PRINTDLGEX nu întotdeauna trebuie să conțină datele curente. Din acest motiv, cerere-specifice proprietate pagini, precum și rutine de IPrintDialogCallback pentru pagina inițială ar trebui să utilizeze interfața IPrintDialogServices pentru a prelua informații despre starea de imprimanta curent.
nbsp; Windows &NT: necesită versiunea 5.0 sau o versiune ulterioară.
Windows:Neacceptat.
Windows CE:Neacceptat.
Antet:A declarat în commdlg.h.
Import Biblioteca:Utilizarea comdlg32.lib.
Unicode:Definit ca structurile Unicode și ANSI.
Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx