PRINTDLG

Struttura PRINTDLG contiene informazioni che la funzione PrintDlg viene utilizzata per inizializzare la finestra di dialogo stampa . Dopo che l'utente chiude la finestra di dialogo, il sistema utilizza questa struttura per restituire informazioni su selezioni dell'utente.

typedef struct tagPD {/ / pd DWORD lStructSize; 
    HWND hwndOwner; 
    GESTIRE hDevMode; 
    GESTIRE hDevNames; 
    HDC hDC; 
    DWORD Flags; 
    WORD nFromPage; 
    WORD nToPage; 
    WORD nMinPage; 
    WORD nMaxPage; 
    WORD nCopies; 
    HINSTANCE hInstance; 
    DWORD lCustData; 
    LPPRINTHOOKPROC lpfnPrintHook; 
    LPSETUPHOOKPROC lpfnSetupHook; 
    LPCTSTR lpPrintTemplateName; 
    LPCTSTR lpSetupTemplateName; 
    GESTIRE hPrintTemplate; 
    GESTIRE hSetupTemplate; 
} PRINTDLG 
 

Membri

lStructSize
Specifica la dimensione della struttura, in byte.
hwndOwner
Identifica la finestra che possiede la finestra di dialogo. Questo membro pu essere alcun handle di finestra valido, oppure pu essere NULL se la finestra di dialogo non ha alcun proprietario.
hDevMode
Handle per un oggetto di mobili memoria globale che contiene un struttura DEVMODE . Se hDevMode non NULL per l'input, necessario allocare un blocco mobile di memoria per la struttura DEVMODE e inizializzare i suoi membri. La funzione PrintDlg utilizza l'ingresso vo inizializzare i controlli nella finestra di dialogo. PrintDlg restituisce i membri DEVMODE indicano l'input dell'utente.

Se hDevMode NULL per l'input, PrintDlg alloca memoria per la struttura DEVMODE , Inizializza i suoi membri per indicare l'input dell'utente e restituisce un handle che lo identifica.

Se il driver di periferica per la stampante specificata non supporta la modalit estesa dispositivo, hDevMode NULL quando restituisce PrintDlg.

Se il nome del dispositivo (specificato dal membro del dmDeviceName la struttura DEVMODE ) non appare nella sezione [dispositivi] della vittoria.INI, PrintDlg restituisce un errore.

Per ulteriori informazioni sui membri hDevMode e hDevNames , vedere la sezione osservazioni alla fine di questo argomento.

hDevNames
Handle per un oggetto mobili memoria globale che contiene una struttura DEVNAMES . Se hDevNames non NULL per l'input, necessario allocare un blocco mobile di memoria per la struttura DEVNAMES e inizializzare i suoi membri. La funzione PrintDlg utilizza l'ingresso vo inizializzare i controlli nella finestra di dialogo. Quando ritorna PrintDlg , i membri DEVNAMES contengono informazioni per la stampante scelta dall'utente. possibile utilizzare queste informazioni per creare un contesto di periferica o un contesto di informazioni.

Il membro hDevNames pu essere NULL, nel qual caso, PrintDlg 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.

hDC
Identifica un contesto di periferica o un contesto di informazioni, dipende se il membro flag specifica il flag PD_RETURNDC o PC_RETURNIC. Se viene specificato nessuna bandiera, il valore di questo membro definito. Se vengono specificati entrambi i flag PD_RETURNDC ha priorit.
Bandiere
Un insieme di flag di bit che possibile utilizzare per inizializzare la finestra di dialogo comune stampa . Quando ritorna nella finestra di dialogo, imposta questi flag per indicare l'input dell'utente. Questo membro pu essere una combinazione dei seguenti flag:
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 e PD_SELECTION non sono specificati.
PD_COLLATE
Se questo flag impostato, selezionata la casella di controllo Collate.

Se questo flag impostato quando la funzione PrintDlg restituisce, l'applicazione deve simulare le regole di confronto di pi copie. Per ulteriori informazioni, vedere la descrizione del flag PD_USEDEVMODECOPIESANDCOLLATE.

PD_DISABLEPRINTTOFILE
Consente di disattivare la casella di controllo stampa su File.
PD_ENABLEPRINTHOOK
Consente la routine di hook specificata nel membro lpfnPrintHook . In questo modo la routine di hook per la finestra di dialogo stampa.
PD_ENABLEPRINTTEMPLATE
Indica che i membri hInstance e lpPrintTemplateName specificano un sostituto per il modello predefinito di casella della finestra di dialogo stampa.
PD_ENABLEPRINTTEMPLATEHANDLE
Indica che il membro hPrintTemplate identifica un blocco di dati che contiene un modello di finestra di dialogo precaricati. Questo modello sostituisce il modello predefinito per la finestra di dialogo stampa . Il sistema ignora il membro lpPrintTemplateName se questo flag viene specificato.
PD_ENABLESETUPHOOK
Consente la routine di hook specificata nel membro lpfnSetupHook . In questo modo la routine di hook per la finestra di dialogo Impostazioni di stampa.
PD_ENABLESETUPTEMPLATE
Indica che i membri hInstance e lpSetupTemplateName specificano un sostituto per il modello predefinito di stampa Setup di dialogo casella.
PD_ENABLESETUPTEMPLATEHANDLE
Indica che il membro hSetupTemplate identifica un blocco di dati che contiene un modello di finestra di dialogo precaricati. Questo modello sostituisce il modello predefinito per la finestra di dialogo Impostazioni di stampa . Il sistema ignora il membro lpSetupTemplateName se questo flag viene specificato.
PD_HIDEPRINTTOFILE
Nasconde la casella di controllo stampa su File.
PD_NONETWORKBUTTON
Nasconde e disabilita il pulsante rete.
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 non non c' alcuna stampante predefinita.
PD_PAGENUMS
Se questo flag impostato, viene selezionato il pulsante di opzione pagine.

Se questo flag impostato quando la funzione PrintDlg restituisce, i membri di nFromPage e nFromPage indicano l'inizio e la fine di pagine specificate dall'utente.

PD_PRINTSETUP
S che il sistema venga visualizzata la finestra di dialogo Impostazioni stampa anzich la finestra di dialogo stampa.
PD_PRINTTOFILE
Se questo flag impostato, selezionata la casella di controllo stampa su File.

Se questo flag impostato quando la funzione PrintDlg 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 PrintDlg per restituire un contesto di periferica di corrispondenza le selezioni apportate nella finestra di dialogo dall'utente. Il contesto di periferica viene restituito in hDC.
PD_RETURNDEFAULT
Se questo flag impostato, la funzione PrintDlg non viene visualizzata nella finestra di dialogo. 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 PrintDlg restituisce un errore.

Se la stampante predefinita del sistema supportata da un vecchio driver della stampante (precedenti a Windows versione 3.0), viene restituito solo hDevNames ; hDevMode NULL.

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 impostata n PD_PAGENUMS n PD_SELECTION, viene selezionato il pulsante di opzione tutte le.

PD_SHOWHELP
Provoca la finestra di dialogo visualizzare il pulsante Help . Il membro hwndOwner deve specificare la finestra per ricevere il HELPMSGSTRING registrati messaggi inviati nella finestra di dialogo quando l'utente fa clic sul pulsante Guida.
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 PRINTDLG 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 nCopies membro della struttura PRINTDLG 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.


nFromPage
Specifica il valore iniziale per il controllo di modifica pagina iniziale.

Quando ritorna PrintDlg , nFromPage la pagina iniziale specificata dall'utente. Se il pulsante di opzione pagine selezionato quando l'utente sceglie il pulsante OK , moda PrintDlg il PD_PAGENUMS bandiera e non tornare fino all'utente immette un valore pagina iniziale che entro il minimo per un intervallo di pagine massimo.

Windows 95: Se il valore di input per nFromPage o nToPage compreso nell'intervallo specificato da nMinPage e nMaxPage, PrintDlg restituisce un errore.

Windows NT: Se il valore dell'input per nFromPage o nToPage sono esterno all'intervallo minimo/massimo, PrintDlg restituisce un errore solo se viene specificato il flag PD_PAGENUMS; in caso contrario, verr visualizzata la finestra di dialogo, ma se si modifica il valore di out-of-range al valore minimo o massimo.

nToPage
Specifica il valore iniziale per il controllo di modifica pagina finale.

Quando ritorna PrintDlg , nToPage la pagina finale specificata dall'utente. Se il pulsante di opzione pagine selezionato quando l'uso clicca il pulsante OK , moda PrintDlg il PD_PAGENUMS bandiera e non tornare fino all'utente immette un valore finale di pagina all'interno del minimo per un intervallo di pagine massimo.

nMinPage
Specifica il valore minimo per pagina nell'intervallo specificato nei controlli di modifica pagina da e verso . Se nMinPage uguale a nMaxPage, il pulsante di opzione pagine e l'inizio e fine controlli di modifica pagina sono disabilitati.
nMaxPage
Specifica il valore massimo per pagina nell'intervallo specificato nei controlli di modifica pagina da e per.
nCopies
Contiene il numero iniziale di copie per il controllo di modifica copie se hDevMode NULL; in caso contrario, il membro dmCopies i struttura DEVMODE contiene il valore iniziale. Quando PrintDlg restituisce, nCopies contiene il numero effettivo di copie da stampare. 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.
hInstance
Se nel membro flag impostato il flag PD_ENABLEPRINTTEMPLATE o PD_ENABLESETUPTEMPLATE, hInstance l'handle dell'applicazione o istanza di modulo che contiene il modello di finestra di dialogo denominato dal membro lpPrintTemplateName o lpSetupTemplateName.
lCustData
Specifica i dati definiti dall'applicazione che il sistema passa alla routine di hook identificata dal membro lpfnPrintHook o lpfnSetupHook . Quando il sistema invia il messaggio WM_INITDIALOG per la routine di hook, parametro lParam del messaggio che un puntatore alla struttura PRINTDLG specificato quando fu creata la finestra di dialogo. La routine di hook pu utilizzare questo puntatore per ottenere il valore di lCustData.
lpfnPrintHook
Puntatore a un PrintHookProc gancio procedura che consente di elaborare i messaggi destinati alla finestra di dialogo stampa . Questo membro viene ignorato a meno che il flag PD_ENABLEPRINTHOOK impostato nel membro flag.
lpfnSetupHook
Puntatore a un SetupHookProc gancio procedura che consente di elaborare i messaggi destinati a nella finestra di dialogo Impostazioni di stampa . Questo membro viene ignorato a meno che il flag PD_ENABLESETUPHOOK impostato nel membro flag.
lpPrintTemplateName
Puntatore a una stringa con terminazione null che assegna una risorsa di modello di dialogo casella nel modulo identificato dal membro hInstance . Questo modello sostituisce il modello predefinito di casella della finestra di dialogo stampa . Questo membro viene ignorato a meno che il flag PD_ENABLEPRINTTEMPLATE impostato nel membro flag.
lpSetupTemplateName
Puntatore a una stringa con terminazione null che assegna una risorsa di modello di dialogo casella nel modulo identificato dal membro hInstance . Questo modello sostituisce il modello predefinito di casella della finestra di dialogo Impostazioni di stampa . Questo membro viene ignorato a meno che il flag PD_ENABLESETUPTEMPLATE impostato nel membro flag.
hPrintTemplate
Se nel membro flag impostato il flag PD_ENABLEPRINTTEMPLATEHANDLE, hPrintTemplate l'handle di un oggetto di memoria contenente un modello di finestra di dialogo. Questo modello sostituisce il modello predefinito di casella della finestra di dialogo stampa.
hSetupTemplate
Se nel membro flag impostato il flag PD_ENABLESETUPTEMPLATEHANDLE, hSetupTemplate l'handle di un oggetto di memoria contenente un modello di finestra di dialogo. Questo modello sostituisce il modello predefinito di casella della finestra di dialogo Impostazioni di stampa.

Osservazioni

Quando si chiama la funzione PrintDlg , 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, PrintDlg Inizializza la finestra di dialogo utilizzando la stampante specificata dal membro wDeviceOffset.

In genere, se hDevMode e hDevNames sono NULL, PrintDlg Inizializza la finestra di dialogo utilizzando la stampante predefinita corrente. Tuttavia, se impostato il flag PD_RETURNDEFAULT e hDevMode e hDevNames sono entrambi NULL, PrintDlg utilizza i membri hDevNames e hDevMode per restituire informazioni sulla stampante predefinita corrente senza visualizzare la finestra di dialogo.

Descrizione

nbsp;Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarati in winspool.h.
Unicode:Definito come strutture di Unicode e ANSI.

Vedi anche

Comune di dialogo casella libreria panoramica, strutture di Box di dialogo comuni, CreateDC, CreateIC, PrintDlg, DEVMODE, DEVNAMES, WM_INITDIALOG

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

Index