Nella finestra di dialogo di stampa

Nella finestra di dialogo di stampa consente all'utente di selezionare le opzioni per un particolare processo di stampa. Ad esempio, l'utente pu˛ specificare la stampante da utilizzare, l'intervallo di pagine da stampare e il numero di copie.

Windows NT 5.0 e versioni successive: ╚ possibile utilizzare la funzione PrintDlgEx per visualizzare un foglio di proprietÓ di stampa , che ha una pagina generale che contiene controlli simili alla finestra di dialogo stampa . Finestra delle proprietÓ pu˛ anche avere pagine delle proprietÓ aggiuntive specifiche dell'applicazione e specifica del driver seguendo la pagina generale.

Creare e visualizzare una finestra di dialogo stampa l'inizializzazione di una struttura PRINTDLG e passando la struttura alla funzione PrintDlg.

L'illustrazione seguente mostra una finestra di dialogo stampa tipico.

Se l'utente fa clic sul pulsante OK , PrintDlg restituisce TRUE e viene utilizzata la struttura PRINTDLG per restituire informazioni sulle selezioni dell'utente. Ad esempio, i membri hDevMode e hDevNames restituiscono in genere handle di memoria globale per la strutture DEVMODE e DEVNAMES . ╚ possibile utilizzare le informazioni in queste strutture per creare un contesto di informazioni o di un contesto di periferica per la stampante selezionata.

Se l'utente annulla nella finestra di dialogo stampa o si verifica un errore, PrintDlg restituisce FALSE. ╚ possibile determinare la causa di un errore utilizzando la funzione CommDlgExtendedError per recuperare il valore di errore esteso.

Nella finestra di dialogo stampa comprende un gruppo di Stampa gamma di pulsanti che indicano se l'utente desidera stampare tutte le pagine, un intervallo di pagine o solo il testo selezionato. Prima di chiamare PrintDlg, Ŕ possibile impostare uno dei flag PD_ALLPAGES, PD_SELECTION o PD_PAGENUMS per indicare quale pulsante selezionato inizialmente. Quando PrintDlg restituisce TRUE, la funzione imposta uno di questi flag per indicare le selezioni dell'utente. Se PD_PAGENUMS Ŕ impostato, i membri di nFromPage e nToPage della struttura PRINTDLG contengono l'inizio e la fine di pagine specificate dall'utente. Per disattivare il pulsante di opzione pagine e suo associato da e per i controlli di modifica, impostare il flag PD_NOPAGENUMS. Per disattivare il pulsante di selezione , impostare il flag PD_NOSELECTION.

Nella finestra di dialogo include un controllo di modifica in cui l'utente pu˛ digitare il numero di copie da stampare. Se il membro hDevMode della struttura PRINTDLG Ŕ diverso da NULL, il membro dmCopies i struttura DEVMODE specifica il valore iniziale per il controllo di modifica. Se hDevMode Ŕ NULL, il nCopies membro della struttura PRINTDLG specifica il valore iniziale. Quando PrintDlg restituisce, in genere nCopies indica il numero di copie specificato dall'utente. Tuttavia, se si imposta il flag PD_USEDEVMODECOPIESANDCOLLATE quando si crea la finestra di dialogo, nCopies Ŕ sempre impostato su 1 al ritorno e il membro dmCopies di DEVMODE indica il numero di copie da stampare.

La casella di controllo Collate indica se l'utente desidera fascicolare le pagine se pi¨ copie sono in fase di stampa. Se Ŕ selezionata la casella di controllo Collate , Ŕ impostato il flag PD_COLLATE. Se l'applicazione non supporta pi¨ copie o delle regole di confronto simulato, impostare il flag PD_USEDEVMODECOPIESANDCOLLATE nel membro Flags della struttura PRINTDLG . Questo consente di disattivare la casella di controllo Collate e controllo di modifica il Numero di copie a meno che il driver della stampante supporta pi¨ copie e le regole di confronto.

La casella di controllo Stampa su File indica se l'utente desidera inviare l'output in un file, piuttosto che a una stampante. ╚ possibile impostare il flag PD_PRINTTOFILE cosý la casella di controllo Ŕ inizialmente controllata. Per nascondere la casella di controllo, impostare il flag PD_HIDEPRINTTOFILE. Per disattivarlo, impostare il flag PD_DISABLEPRINTTOFILE. Se l'utente seleziona l'opzione Stampa su File , PrintDlg imposta il flag PD_PRINTTOFILE e restituisce "FILE:" dall'offset indicato dal membro wOutputOffset della struttura DEVNAMES . Quando si chiama il StartDoc funzione per avviare l'operazione di stampa, specificare questo "FILE:" stringa nel membro di lpszOutput i struttura DOCINFO . Specificando questa stringa provoca il sottosistema di stampa eseguire una query dell'utente per il nome del file di output.

Per impostazione predefinita, la finestra di dialogo stampa inizialmente Visualizza informazioni sulla stampante predefinita corrente. ╚ possibile indirizzare per visualizzare informazioni per un'altra stampante installata da l'inizializzazione di un DEVMODE o struttura DEVNAMES e l'assegnazione della memoria globale di gestire la struttura il membro hDevMode o hDevNames . Il nome di periferica specificato nel membro dmDeviceName della struttura DEVMODE o nel membro wDriverOffset della struttura DEVNAMES necessario identificare un dispositivo stampante anche elencato nella sezione [dispositivi] la vittoria.File INI. Se il dispositivo non Ŕ elencato, PrintDlg restituisce un errore.

╚ possibile indirizzare PrintDlg per creare un contesto di periferica o informazioni dal contesto per la stampante, impostando il flag PD_RETURNDC o PD_RETURNIC nel membro Flags della struttura PRINTDLG . La funzione restituisce l'handle del contesto di periferica o contesto informazioni nel membro hDC . Se si utilizza il flag PD_RETURNDC, Ŕ possibile utilizzare il contesto di periferica per generare un output per la stampante.

Per recuperare informazioni sulla stampante predefinita senza visualizzare la finestra di dialogo stampa , impostare il flag PD_RETURNDEFAULT. In questo caso, PrintDlg restituisce immediatamente dopo l'impostazione i membri hDevMode e hDevNames alle maniglie per strutture contenente le informazioni.

Per impostazione predefinita, PrintDlg consente di visualizzare finestre di messaggio quando si verificano errori. Ad esempio, la funzione visualizza un messaggio di errore se non stampanti sono installati. Per la funzione di impedire la visualizzazione di questi messaggi di avviso, impostare il flag PD_NOWARNING.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index