Caseta de Dialog imprimare

Caseta de dialog Imprimare permite utilizatorului selectați opțiunile pentru un loc de muncă speciale de imprimare. De exemplu, utilizatorul poate specifica imprimantă pentru a utiliza, intervalul de pagini pentru a imprima și numărul de copii.

Windows NT 5.0 și mai târziu: Utilizați funcția PrintDlgEx pentru a afișa o foaie de proprietăți de Imprimare , care are o pagină General care conține controale similare cu caseta de dialog Imprimare . Foaia de proprietăți, de asemenea, puteți avea cerere-specifice suplimentare specifice driver-proprietate pagini la pagina generale.

Creați și afișa o casetă de dialog tipărire inițializarea unei structuri de PRINTDLG ?i transmiterea structura funcția PrintDlg.

Ilustrația următoare afișează o casetă de dialog tipărire tipic.

În cazul în care utilizatorul face clic pe butonul OK , PrintDlg întoarce TRUE și utilizează structura PRINTDLG pentru a returna informații despre selecțiile utilizatorului. De exemplu, membrii hDevMode și hDevNames de obicei reveni memorie globală ghidaje pentru structurile mod dezvoltare și DEVNAMES . Utilizați informațiile din aceste structuri pentru a crea un context de dispozitiv sau un context de informații pentru imprimanta selectată.

Dacă utilizatorul anulează caseta de dialog Imprimare sau apare o eroare, PrintDlg întoarce FALSE. Aveți posibilitatea să determinați cauza de eroare utilizând funcția CommDlgExtendedError pentru a prelua valoarea de eroare prelungit.

Caseta de dialog Imprimare include un Interval tipărire grup de butoane radio care indică dacă utilizatorul dorește să imprimați toate paginile, un interval de pagini, sau numai textul selectat. Înainte de asteptare PrintDlg, puteți seta unul dintre steagurile PD_ALLPAGES, PD_SELECTION sau PD_PAGENUMS pentru a indica care buton este selectat. Atunci când PrintDlg întoarce TRUE, funcția stabilește una dintre aceste semnalizări pentru a indica utilizatorului selecții. Dacă este setat PD_PAGENUMS, membrii nFromPage și nToPage din structura PRINTDLG conțin început și de sfârșit pagini specificate de utilizator. Pentru a dezactiva butonul radio pagini ?i asociate la ?i la controalele de editare, setați pavilion PD_NOPAGENUMS. Pentru a dezactiva butonul radio de selecție , setați pavilion PD_NOSELECTION.

Caseta de dialog include un control de editare în care utilizatorul poate tastați numărul de copii pentru a imprima. Dacă hDevMode din structura PRINTDLG este non-NULL, membru dmCopies mod dezvoltare structura specifică valoarea inițială pentru acest control de editare. În cazul în care hDevMode este NULL, membru nCopies din structura PRINTDLG specifică valoarea inițială. Atunci când se întoarce de PrintDlg , nCopies de obicei indică numărul de copii specificate de utilizator. Cu toate acestea, dacă setați pavilion PD_USEDEVMODECOPIESANDCOLLATE când creați caseta de dialog, nCopies întotdeauna este setat la 1 la întoarcerea și membru dmCopies mod dezvoltare indică numărul de copii pentru a imprima.

Caseta de selectare de asamblare indică dacă utilizatorul dorește adună pagini în cazul în care mai multe copii sunt fiind imprimate. Pavilionul PD_COLLATE este stabilit dacă este bifată caseta de selectare de asamblare . Dacă aplicația nu acceptă mai multe copii sau asamblare simulate, setați pavilion PD_USEDEVMODECOPIESANDCOLLATE membru steaguri de structura PRINTDLG . Aceasta dezactivează caseta de selectare de asamblare și Numărul de copii control de editare dacă driverul de imprimantă acceptă mai multe copii ?i asamblare.

Caseta de selectare Imprimare în fișier indică dacă utilizatorul vrea să trimită ieșire într-un fișier, mai degrabă decât la o imprimantă. Aveți posibilitatea să setați pavilion PD_PRINTTOFILE astfel încât ini?ial este bifată caseta de selectare. Pentru a ascunde caseta de selectare, setați pavilion PD_HIDEPRINTTOFILE. Pentru a dezactiva aceasta, setați pavilion PD_DISABLEPRINTTOFILE. Dacă utilizatorul selectează opțiunea Tipărire în fișier , PrintDlg seturi de PD_PRINTTOFILE de pavilion și întoarce "FIȘIER:" la decalajul indicată de statul membru de wOutputOffset de structura DEVNAMES . 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.

În mod implicit, caseta de dialog Imprimare inițial afișează informații despre imprimantă implicită curentă. Puteți direcționa pentru a afișa informații pentru o altă imprimantă instalată de inițializare un mod dezvoltare sau DEVNAMES structura și alocarea de memorie global mâner pentru structura membru hDevMode sau hDevNames . Numele dispozitivului specificați membru dmDeviceName din structura mod dezvoltare sau membru wDriverOffset din structura DEVNAMES trebuie să identifice un dispozitiv de imprimantă care este, de asemenea, listate în secțiunea [Devices] de a câștiga.Fișierul INI. Dacă dispozitivul nu este listată, PrintDlg returnează o eroare.

Puteți direcționa PrintDlg pentru a crea un context de dispozitiv sau contextul informații pentru imprimanta prin setarea pavilion PD_RETURNDC sau PD_RETURNIC membru steaguri de structura PRINTDLG . Funcția întoarce handle de context de dispozitiv sau informații contextul membru hDC . Dacă utilizați pavilion PD_RETURNDC, utilizați contextul dispozitiv pentru a genera ieșire pentru imprimanta.

Pentru regăsirea informațiilor despre imprimantă implicită fără a afișa caseta de dialog tipărire , setați pavilion PD_RETURNDEFAULT. În acest caz, PrintDlg returnează imediat după setarea membrii hDevMode și hDevNames la ghidaje pentru structuri care să con?ină informa?iile.

Implicit, PrintDlg afișează mesajul casetele apar erori. De exemplu, funcția afișează un mesaj de eroare dacă imprimantele nu sunt instalate. Pentru a preveni afișarea aceste mesaje de avertizare funcția, setați pavilion PD_NOWARNING.

Index