[Questo è documentazione preliminare e soggetto a cambiare].
La struttura PRINTDLGEX contiene informazioni che la funzione PrintDlgEx viene utilizzata per inizializzare il foglio di proprietà di stampa . Dopo che l'utente chiude la finestra delle proprietà, il sistema utilizza questa struttura per restituire informazioni su selezioni dell'utente.
typedef struct {tagPDEX
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
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
Se hDevMode è NULL per l'input, PrintDlgEx alloca memoria per la struttura DEVMODE , Inizializza i suoi membri per indicare l'input dell'utente e restituisce un handle che lo identifica.
Per ulteriori informazioni sui membri hDevMode e hDevNames , vedere la sezione osservazioni alla fine di questo argomento.
Il membro hDevNames può essere NULL, nel qual caso, PrintDlgEx alloca memoria per la struttura DEVNAMES , Inizializza i suoi membri per indicare all'utente di input, e restituisce un handle che lo identifica.
Per ulteriori informazioni sui membri hDevMode e hDevNames , vedere la sezione osservazioni alla fine di questo argomento.
| PD_ALLPAGES | |
| Il flag predefinito che indica che il pulsante radio tutto inizialmente sia selezionato. Questo flag viene utilizzato come segnaposto per indicare che i flag PD_PAGENUMS, PD_SELECTION e PD_CURRENTPAGE non sono specificati. | |
| PD_COLLATE | |
| Se questo flag è impostato, è selezionata la casella di controllo Collate. Se questo flag è impostato quando la funzione PrintDlgEx restituisce, l'applicazione deve simulare le regole di confronto di più copie. Per ulteriori informazioni, vedere la descrizione del flag PD_USEDEVMODECOPIESANDCOLLATE. |
|
| PD_CURRENTPAGE | |
| Se questo flag è impostato, viene selezionato il pulsante di Pagina corrente . Se nessuno dei flag PD_PAGENUMS, PD_SELECTION o PD_CURRENTPAGE è impostata, viene selezionato il pulsante di opzione tutte le. | |
| PD_DISABLEPRINTTOFILE | |
| Consente di disattivare la casella di controllo stampa su File. | |
| PD_ENABLEPRINTTEMPLATE | |
| Indica che i membri hInstance e lpPrintTemplateName specificano un sostituto per il modello di finestra di dialogo predefinita nella parte inferiore della pagina generale . Il modello predefinito contiene controlli simili a quelle della finestra di dialogo stampa . Il sistema utilizza il modello specificato per creare una finestra che è figlio della pagina generale. | |
| PD_ENABLEPRINTTEMPLATEHANDLE | |
| Indica che il membro hInstance identifica un blocco di dati che contiene un modello di finestra di dialogo precaricati. Questo modello sostituisce il modello predefinito di dialogo casella nella parte inferiore della pagina generale . Il sistema utilizza il modello specificato per creare una finestra che è figlio della pagina generale . Il sistema ignora il membro lpPrintTemplateName se questo flag viene specificato. | |
| PD_EXCLUSIONFLAGS | |
| Indica che il membro ExclusionFlags identifica gli elementi da escludere da pagine delle proprietà del driver stampante. Se questo flag non è impostato, gli elementi verranno escluse per impostazione predefinita da pagine delle proprietà del driver stampante. Le esclusioni di evitare la duplicazione degli elementi tra la pagina generale , tutte le pagine specificato dall'applicazione e le pagine di driver di stampante. | |
| PD_HIDEPRINTTOFILE | |
| Nasconde la casella di controllo stampa su File. | |
| PD_NOCURRENTPAGE | |
| Disabilita il pulsante di Pagina corrente. | |
| PD_NOPAGENUMS | |
| Consente di disattivare il pulsante di opzione pagine e i controlli di modifica associato. | |
| PD_NOSELECTION | |
| Disabilita il pulsante di selezione. | |
| PD_NOWARNING | |
| Impedisce che il messaggio di avviso viene visualizzato quando si verifica un errore. | |
| PD_PAGENUMS | |
| Se questo flag è impostato, viene selezionato il pulsante di opzione pagine . Se nessuno dei flag PD_PAGENUMS, PD_SELECTION o PD_CURRENTPAGE è impostata, viene selezionato il pulsante di opzione tutte le. Se questo flag è impostato quando la funzione PrintDlgEx restituisce, il membro lpPageRanges indica gli intervalli di pagina specificati dall'utente. |
|
| PD_PRINTTOFILE | |
| Se questo flag è impostato, è selezionata la casella di controllo stampa su File. Se questo flag è impostato quando PrintDlgEx restituisce, l'offset indicato dal membro della struttura DEVNAMES wOutputOffset contiene la stringa "FILE:". 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. |
|
| PD_RETURNDC | |
| Cause PrintDlgEx per restituire un contesto di periferica di corrispondenza le selezioni apportate nella finestra delle proprietà dall'utente. Il contesto di periferica viene restituito in hDC. | |
| PD_RETURNDEFAULT | |
| Se questo flag è impostato, la funzione PrintDlgEx non viene visualizzata la finestra delle proprietà. Invece, imposta i membri hDevNames e hDevMode alle maniglie a strutture DEVMODE e DEVNAMES che vengono inizializzate per la stampante predefinita del sistema. Sia hDevNames che hDevMode deve essere NULL, o PrintDlgEx restituisce un errore. | |
| PD_RETURNIC | |
| Simile a quella PD_RETURNDC, tranne questo flag restituisce un contesto informazioni piuttosto che in un contesto di periferica. Se viene specificata né PD_RETURNDC né PD_RETURNIC, hDC è indefinito in uscita. | |
| PD_SELECTION | |
| Se questo flag è impostato, viene selezionato il pulsante di selezione. Se nessuno dei flag PD_PAGENUMS, PD_SELECTION o PD_CURRENTPAGE è impostata, viene selezionato il pulsante di opzione tutte le. |
|
| PD_USEDEVMODECOPIES | |
| Come PD_USEDEVMODECOPIESANDCOLLATE | |
| PD_USEDEVMODECOPIESANDCOLLATE | |
| Questo flag indica se l'applicazione supporta più copie e le regole di confronto. Impostare questo flag in input per indicare che l'applicazione non supporta più copie e le regole di confronto. In questo caso, il nCopies membro della struttura PRINTDLGEX restituisce sempre 1 e PD_COLLATE mai è impostato nel membro flag. Se questo flag non è impostato, l'applicazione è responsabile per la stampa e la fascicolazione delle copie multiple. In questo caso, il membro nCopies della struttura PRINTDLGEX indica il numero di copie che l'utente desidera stampare e il flag PD_COLLATE nel membro flag indica se l'utente vuole delle regole di confronto. Indipendentemente dal fatto se questo flag è impostato, un'applicazione in grado di determinare da nCopies e PD_COLLATE quante copie per eseguire il rendering e se stampare li fascicolate. Se questo flag è impostato e il driver della stampante non supporta più copie, viene disattivato il controllo di modifica di copie . Allo stesso modo, se questo flag è impostato e il driver della stampante non supporta le regole di confronto, la casella di controllo Collate è disattivato. I membri di dmCopies e dmCollate i struttura DEVMODE contengono le copie e Fascicola le informazioni utilizzate dal driver della stampante. Se questo flag è impostato e il driver della stampante supporta più copie, il membro dmCopies indica il numero di copie richiesta dall'utente. Se questo flag è impostato e il driver della stampante supporta le regole di confronto, il membro dmCollate della struttura DEVMODE indica se l'utente vuole delle regole di confronto. Se questo flag non è impostato, il membro dmCopies restituisce sempre il 1 e il membro dmCollate è sempre uguale a zero. |
|
| PD_EXCL_COPIESANDCOLLATE | |
| Esclude i controlli copie e Fascicola dalle pagine delle proprietà driver stampante in una finestra delle proprietà Print . Questo flag deve essere sempre impostato quando l'applicazione utilizza i controlli di copie e Fascicola predefinito forniti da parte inferiore della pagina generale della finestra delle proprietà Print. | |
Se viene specificato il flag PD_NOPAGENUMS, questo valore non è valido. Se non viene specificato il flag PD_NOPAGENUMS, lpPageRanges deve essere diverso da NULL.
Quando PrintDlgEx restituisce, nCopies contiene il numero effettivo di applicazione deve stampare copie. Questo valore varia a seconda se l'applicazione o il driver della stampante è responsabile per la stampa di più copie. Se nel membro flag è impostato il flag PD_USEDEVMODECOPIESANDCOLLATE, nCopies è sempre 1 al ritorno e il driver della stampante è responsabile per la stampa di più copie. Se il flag non è impostato, l'applicazione è responsabile della stampa il numero di copie specificato da nCopies. Per ulteriori informazioni, vedere la descrizione del flag PD_USEDEVMODECOPIESANDCOLLATE.
L'oggetto dovrà contenere la classe IPrintDialogCallback per ricevere i messaggi per la finestra di dialogo bambino nella parte inferiore della pagina generale.
L'oggetto callback deve inoltre contenere il IObjectWithSite classe per ricevere un puntatore all'interfaccia IPrintDialogServices . Le chiamate di funzione PrintDlgEx QueryInterface sull'oggetto callback per IID_IPrintDialogCallback e IID_IObjectWithSite determinare quali interfacce sono supportate.
Se non si desidera recuperare l'informazione di richiamata, impostare lpCallback su NULL.
| Valore | Significato |
|---|---|
| PD_RESULT_APPLY | L'utente fa clic sul pulsante applica e poi fatto clic sul pulsante Annulla . Questo indica che l'utente vuole applicare le modifiche apportate nella finestra delle proprietà, ma non vuole stampare ancora. La struttura PRINTDLGEX contiene le informazioni specificate dall'utente al momento è stato fatto clic sul pulsante applica. |
| PD_RESULT_CANCEL | L'utente ha fatto clic sul pulsante Annulla . Le informazioni della struttura PRINTDLGEX sono invariate. |
| PD_RESULT_PRINT | L'utente fa clic sul pulsante stampa . La struttura PRINTDLGEX contiene le informazioni specificate dall'utente. |
Quando si chiama la funzione PrintDlgEx , essere sicuri che il membro wDeviceOffset della struttura DEVNAMES è identico al membro del dmDeviceName la struttura DEVMODE . Se questi membri non si specificano la stessa stampante, PrintDlgEx Inizializza la finestra delle proprietà utilizzando la stampante specificata dal membro wDeviceOffset.
In genere, se hDevMode e hDevNames sono NULL, PrintDlgEx Inizializza la finestra delle proprietà utilizzando la stampante predefinita corrente. Tuttavia, se è impostato il flag PD_RETURNDEFAULT e hDevMode e hDevNames sono entrambi NULL, PrintDlgEx utilizza i membri hDevNames e hDevMode per restituire informazioni sulla stampante predefinita corrente senza visualizzare la finestra delle proprietà.
Durante l'esecuzione di PrintDlgEx, la strutture DEVMODE e DEVNAMES che specificato nella struttura PRINTDLGEX non sempre possono contenere dati correnti. Per questo motivo, pagine delle proprietà specifiche dell'applicazione, nonché le routine di IPrintDialogCallback per la pagina iniziale dovrebbero utilizzare l'interfaccia IPrintDialogServices per recuperare le informazioni sullo stato della stampante corrente.
nbsp; Windows &NT: richiede una versione 5.0 o successive.
Windows:Non supportato.
Windows CE:Non supportato.
Intestazione:Dichiarati in commdlg.h.
Importare librerie:Utilizzare comdlg32.lib.
Unicode:Definito come strutture di Unicode e ANSI.
Common Dialog Box Library Overview, Common Dialog Box Structures, CreateDC, CreateIC, CreatePropertySheetPage, DEVMODE, DEVNAMES, IObjectWithSite, IPrintDialogCallback, IPrintDialogServices, PrintDlgEx
Rimedio: Inserire il CD-ROM CD di MSDN Library.