Struttura PRINTDLGEXW (commdlg.h)
Contiene informazioni utilizzate dalla funzione PrintDlgEx
Sintassi
typedef struct tagPDEXW {
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;
LPCWSTR lpPrintTemplateName;
LPUNKNOWN lpCallback;
DWORD nPropertyPages;
HPROPSHEETPAGE *lphPropertyPages;
DWORD nStartPage;
DWORD dwResultAction;
} PRINTDLGEXW, *LPPRINTDLGEXW;
Membri
lStructSize
Tipo: DWORD
Dimensione della struttura, in byte.
hwndOwner
Tipo: HWND
Handle per la finestra proprietaria della finestra delle proprietà. Questo membro deve essere un handle di finestra valido; non può essere NULL.
hDevMode
Tipo: HGLOBAL
Handle per un oggetto memoria globale mobile che contiene una struttura DEVMODE. Se
Se hDevMode è NULL all'input, PrintDlgEx alloca memoria per la struttura DEVMODE, inizializza i relativi membri per indicare l'input dell'utente e restituisce un handle che lo identifica.
Per altre informazioni sui membri hDevMode e hDevNames, vedere la sezione Osservazioni alla fine di questo argomento.
hDevNames
Tipo: HGLOBAL
Handle per un oggetto memoria globale mobile contenente una struttura
Il membro hDevNames
Per altre informazioni sui membri hDevMode e hDevNames, vedere la sezione Osservazioni alla fine di questo argomento.
hDC
Tipo: HDC
Handle per un contesto di dispositivo o un contesto informativo, a seconda che il membro Flags specifichi il flag PD_RETURNDC o PC_RETURNIC. Se non viene specificato alcun flag, il valore di questo membro non è definito. Se vengono specificati entrambi i flag, PD_RETURNDC ha priorità.
Flags
Tipo: DWORD
Set di flag di bit che è possibile utilizzare per inizializzare la finestra delle proprietà Stampa. Quando la funzione PrintDlgEx restituisce, imposta questi flag per indicare l'input dell'utente. Questo membro può essere uno o più dei valori seguenti.
Per assicurarsi che
Per assicurarsi che PrintDlg o PrintDlgEx restituisca i valori corretti in nCopies e PD_COLLATE, impostare PD_RETURNDC = TRUE e PD_USEDEVMODECOPIESANDCOLLATE = FALSE. In questo modo, dmCopies è sempre 1 e dmCollate è sempre FALSE.
A partire da Windows Vista, quando si chiama
Quando si effettuano chiamate a GDI, è necessario ignorare il valore di nCopies, considerare il valore 1 e usare il hDC restituito per evitare la stampa di copie duplicate.
Valore | Significato |
---|---|
|
Flag predefinito che indica che inizialmente è selezionato il pulsante di opzione Tutto. Questo flag viene usato come segnaposto per indicare che i flag PD_PAGENUMS, PD_SELECTIONe PD_CURRENTPAGE non vengono specificati. |
|
Se questo flag è impostato, viene selezionata la casella di controllo collate Se questo flag viene impostato quando viene restituita la funzione PrintDlgEx Vedere PD_NOPAGENUMS. |
|
Se questo flag è impostato, viene selezionato il pulsante di opzione pagina corrente |
|
Disabilita la casella di controllo Stampa su file. |
|
Indica che i membri hInstance |
|
Indica che il membro |
|
Indica che il ExclusionFlags membro identifica gli elementi da escludere dalle pagine delle proprietà del driver della stampante. Se questo flag non è impostato, gli elementi verranno esclusi per impostazione predefinita dalle pagine delle proprietà del driver della stampante. Le esclusioni impediscono la duplicazione degli elementi tra la pagina Generale, le pagine specificate dall'applicazione e le pagine del driver della stampante. |
|
Nasconde la casella di controllo Stampa su file. |
|
Disabilita il pulsante di opzione pagina corrente |
|
Disabilita il pulsante di opzione pagine |
|
Disabilita il pulsante di opzione selezione . |
|
Impedisce la visualizzazione del messaggio di avviso quando si verifica un errore. |
|
Se questo flag è impostato, viene selezionato il pulsante di opzione pagine |
|
Se questo flag è impostato, viene selezionata la casella di controllo Stampa su file. Se questo flag viene impostato quando viene restituito PrintDlgEx, l'offset indicato dal wOutputOffset membro della struttura DEVNAMES contiene la stringa "FILE:". Quando si chiama la funzione StartDoc |
|
Fa sì che PrintDlgEx restituire un contesto di dispositivo corrispondente alle selezioni effettuate dall'utente nella finestra delle proprietà. Il contesto del dispositivo viene restituito in hDC. |
|
Se questo flag è impostato, la funzione PrintDlgEx non visualizza la finestra delle proprietà. Imposta invece i membri hDevNames e hDevMode membri per DEVNAMES e strutture DEVMODE inizializzate per la stampante predefinita del sistema. Sia hDevNames che hDevMode devono essere NULLo PrintDlgEx restituisce un errore. |
|
Analogamente al flag PD_RETURNDC, ad eccezione di questo flag restituisce un contesto informativo anziché un contesto di dispositivo. Se non viene specificato né PD_RETURNDC né PD_RETURNIC, hDC non è definito nell'output. |
|
Se questo flag è impostato, viene selezionato il pulsante di opzione selezione |
|
Uguale a PD_USEDEVMODECOPIESANDCOLLATE. |
|
Questo flag indica se l'applicazione supporta più copie e regole di confronto. Impostare questo flag sull'input per indicare che l'applicazione non supporta più copie e regole di confronto. In questo caso, il membro Se questo flag non è impostato, l'applicazione è responsabile della stampa e della compressione di più copie. In questo caso, il Indipendentemente dal fatto che questo flag sia impostato, un'applicazione può determinare da nCopies e PD_COLLATE il numero di copie di cui eseguire il rendering e se stamparli compressi. Se questo flag è impostato e il driver della stampante non supporta più copie, il Copia controllo di modifica è disabilitato. Analogamente, se questo flag è impostato e il driver della stampante non supporta le regole di confronto, la casella di controllo collate I dmCopies e dmCollate membri della struttura DEVMODE contengono le copie e le informazioni di confronto usate dal driver della stampante. Se questo flag è impostato e il driver della stampante supporta più copie, il membro dmCopies Nelle versioni di Windows precedenti a Windows Vista, se questo flag non è impostato dall'applicazione chiamante e il |
|
Forza la finestra delle proprietà a usare un modello di grandi dimensioni per la pagina generale |
Flags2
Tipo: DWORD
ExclusionFlags
Tipo: DWORD
Set di flag di bit che possono escludere elementi dalle pagine delle proprietà del driver della stampante nella finestra delle proprietà Stampa. Questo valore viene utilizzato solo se il flag
PD_EXCL_COPIESANDCOLLATE
Esclude i controlli
nPageRanges
Tipo: DWORD
In input, impostare questo membro sul numero iniziale di intervalli di pagine specificati nella matrice
nMaxPageRanges
Tipo: DWORD
Dimensioni, negli elementi della matrice, del buffer
lpPageRanges
Tipo: LPPRINTPAGERANGE
Puntatore a un buffer contenente una matrice di strutture PRINTPAGERANGE. In caso di input, la matrice contiene gli intervalli di pagine iniziali da visualizzare nel controllo di modifica Pages. Quando la funzione PrintDlgEx restituisce, la matrice contiene gli intervalli di pagine specificati dall'utente. Se viene specificato il flag PD_NOPAGENUMS, questo valore non è valido. Se il flag di PD_NOPAGENUMS non è specificato, lpPageRanges deve essere diverso daNULL.
nMinPage
Tipo: DWORD
Valore minimo per gli intervalli di pagine specificati nel controllo di modifica Pages. Se viene specificato il flag PD_NOPAGENUMS, questo valore non è valido.
nMaxPage
Tipo: DWORD
Valore massimo per gli intervalli di pagine specificati nel controllo di modifica Pages. Se viene specificato il flag PD_NOPAGENUMS, questo valore non è valido.
nCopies
Tipo: DWORD
Contiene il numero iniziale di copie per il controllo di modifica copie
hInstance
Tipo: HINSTANCE
Se il flag
lpPrintTemplateName
Tipo: LPCTSTR
Nome della risorsa modello della finestra di dialogo nel modulo identificato dal membro
lpCallback
Tipo: LPUNKNOWN
Puntatore a un oggetto callback definito dall'applicazione.
L'oggetto deve contenere la classe IPrintDialogCallback
L'oggetto callback deve contenere anche la classe
Se non si desidera recuperare alcuna informazione sul callback, impostare lpCallback su NULL.
nPropertyPages
Tipo: DWORD
Numero di handle della pagina delle proprietà nella matrice lphPropertyPages.
lphPropertyPages
Tipo: HPROPSHEETPAGE*
Contiene una matrice di handle di pagina delle proprietà da aggiungere alla finestra delle proprietà Stampa. Le pagine delle proprietà aggiuntive seguono la pagina generale
nStartPage
Tipo: DWORD
Pagina delle proprietà visualizzata inizialmente. Per visualizzare la pagina Generale
dwResultAction
Tipo: DWORD
In input impostare questo membro su zero. Se la funzione PrintDlgEx restituisce S_OK, dwResultAction contiene il risultato della finestra di dialogo. Se PrintDlgEx restituisce un errore, questo membro deve essere ignorato. Il membro dwResultAction
PD_RESULT_APPLY
L'utente ha fatto clic sul pulsante applica
PD_RESULT_CANCEL
L'utente ha fatto clic sul pulsante annulla
PD_RESULT_PRINT
L'utente ha fatto clic sul pulsante stampa
Osservazioni
Se hDevMode e hDevNames sono null, PrintDlgEx inizializza la finestra delle proprietà utilizzando la stampante predefinita corrente. Per inizializzare la finestra delle proprietà per una stampante diversa, utilizzare il wDeviceOffset membro della struttura DEVNAMES per specificare il nome della stampante.
Si noti che il membro
Se il flag PD_RETURNDEFAULT è impostato e hDevMode e hDevNames sono NULL, PrintDlgEx utilizza i hDevNames e hDevMode membri per restituire informazioni sulla stampante predefinita corrente senza visualizzare la finestra di dialogo.
Durante l'esecuzione di
Nota
L'intestazione commdlg.h definisce PRINTDLGEX come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
intestazione |
commdlg.h (include Windows.h) |
Vedere anche
della libreria delle finestre di dialogo comuni
concettuale
IPrintDialogServices
riferimento