Classe CPrintDialogEx
Incapsula i servizi forniti dalla finestra delle proprietà di Windows Print.
Sintassi
class CPrintDialogEx : public CCommonDialog
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CPrintDialogEx::CPrintDialogEx | Costruisce un oggetto CPrintDialogEx . |
Metodi pubblici
Nome | Descrizione |
---|---|
CPrintDialogEx::CreatePrinterDC | Crea un contesto di dispositivo della stampante senza visualizzare la finestra di dialogo Stampa. |
CPrintDialogEx::D oModal | Visualizza la finestra di dialogo e consente all'utente di effettuare selezioni. |
CPrintDialogEx::GetCopies | Recupera il numero di copie richieste. |
CPrintDialogEx::GetDefaults | Recupera le impostazioni predefinite del dispositivo senza visualizzare una finestra di dialogo. |
CPrintDialogEx::GetDeviceName | Recupera il nome del dispositivo stampante attualmente selezionato. |
CPrintDialogEx::GetDevMode | Recupera la DEVMODE struttura. |
CPrintDialogEx::GetDriverName | Recupera il nome del driver di dispositivo della stampante definito dal sistema. |
CPrintDialogEx::GetPortName | Recupera il nome della porta della stampante attualmente selezionata. |
CPrintDialogEx::GetPrinterDC | Recupera un handle nel contesto del dispositivo della stampante. |
CPrintDialogEx::P rintAll | Determina se stampare tutte le pagine del documento. |
CPrintDialogEx::P rintCollate | Determina se vengono richieste copie collate. |
CPrintDialogEx::P rintCurrentPage | Determina se stampare la pagina corrente del documento. |
CPrintDialogEx::P rintRange | Determina se stampare solo un intervallo specificato di pagine. |
CPrintDialogEx::P rintSelection | Determina se stampare solo gli elementi attualmente selezionati. |
Membri dati pubblici
Nome | Descrizione |
---|---|
CPrintDialogEx::m_pdex | Struttura utilizzata per personalizzare un CPrintDialogEx oggetto. |
Osservazioni:
È possibile fare affidamento sul framework per gestire molti aspetti del processo di stampa per l'applicazione. Per altre informazioni sull'uso del framework per gestire le attività di stampa, vedere l'articolo Stampa.
Se si vuole che l'applicazione gestisca la stampa senza il coinvolgimento del framework, è possibile usare la CPrintDialogEx
classe "così come è" con il costruttore fornito oppure è possibile derivare la propria classe di dialogo da CPrintDialogEx
e scrivere un costruttore in base alle proprie esigenze. In entrambi i casi, queste finestre di dialogo si comportano come finestre di dialogo MFC standard perché sono derivate dalla classe CCommonDialog
.
Per usare un CPrintDialogEx
oggetto , creare prima di tutto l'oggetto usando il CPrintDialogEx
costruttore . Dopo aver costruito la finestra di dialogo, è possibile impostare o modificare qualsiasi valore nella struttura m_pdex per inizializzare i valori dei controlli della finestra di dialogo. La m_pdex
struttura è di tipo PRINTDLGEX. Per altre informazioni su questa struttura, vedere Windows SDK.
Se non si specificano handle personalizzati per m_pdex
i membri e hDevNames
, assicurarsi di chiamare la funzione GlobalFree
Windows per questi handle al termine della hDevMode
finestra di dialogo.
Dopo aver inizializzato i controlli della finestra di dialogo, chiamare la DoModal
funzione membro per visualizzare la finestra di dialogo e consentire all'utente di selezionare le opzioni di stampa. Quando DoModal
termina, è possibile determinare se l'utente ha selezionato il pulsante OK, Applica o Annulla.
Se l'utente ha premuto OK, è possibile usare CPrintDialogEx
le funzioni membro per recuperare l'input delle informazioni dall'utente.
La CPrintDialogEx::GetDefaults
funzione membro è utile per recuperare le impostazioni predefinite della stampante corrente senza visualizzare una finestra di dialogo. Questo metodo non richiede alcuna interazione dell'utente.
È possibile utilizzare la funzione Windows CommDlgExtendedError
per determinare se si è verificato un errore durante l'inizializzazione della finestra di dialogo e per altre informazioni sull'errore. Per altre informazioni su questa funzione, vedere Windows SDK.
Per altre informazioni sull'uso CPrintDialogEx
di , vedere Classi di dialoghi comuni.
Gerarchia di ereditarietà
IObjectWithSite
IPrintDialogCallback
CPrintDialogEx
Requisiti
Intestazione: afxdlgs.h
CPrintDialogEx::CPrintDialogEx
Costruisce una finestra delle proprietà di Windows Print.
CPrintDialogEx(
DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
CWnd* pParentWnd = NULL);
Parametri
dwFlags
Uno o più flag che è possibile usare per personalizzare le impostazioni della finestra di dialogo, combinate usando l'operatore OR bit per bit. Ad esempio, il flag PD_ALLPAGES imposta l'intervallo di stampa predefinito su tutte le pagine del documento. Per altre informazioni su questi flag, vedere la struttura PRINTDLGEX in Windows SDK.
pParentWnd
Puntatore alla finestra padre o proprietario della finestra di dialogo.
Osservazioni:
Questa funzione membro costruisce solo l'oggetto . Utilizzare la DoModal
funzione membro per visualizzare la finestra di dialogo.
CPrintDialogEx::CreatePrinterDC
Crea un contesto di dispositivo della stampante dalle strutture DEVMODE e DEVNAMES .
HDC CreatePrinterDC();
Valore restituito
Handle nel contesto del dispositivo della stampante appena creato.
Osservazioni:
Il controller di dominio restituito viene archiviato anche nel hDC
membro di m_pdex.
Si presuppone che questo controller di dominio sia il controller di dominio corrente della stampante e che tutti gli altri controller di dominio della stampante precedentemente ottenuti devono essere eliminati. Questa funzione può essere chiamata e il controller di dominio risultante usato, senza mai visualizzare la finestra di dialogo Stampa.
CPrintDialogEx::D oModal
Chiamare questa funzione per visualizzare la finestra delle proprietà Stampa di Windows e consentire all'utente di selezionare varie opzioni di stampa, ad esempio il numero di copie, l'intervallo di pagine e se le copie devono essere confrontate.
virtual INT_PTR DoModal();
Valore restituito
Il valore restituito INT_PTR è in realtà un valore HRESULT. Vedere la sezione Valori restituiti in PrintDlgEx in Windows SDK.
Osservazioni:
Se si desidera inizializzare le varie opzioni della finestra di dialogo di stampa impostando i membri della m_pdex
struttura, è necessario eseguire questa operazione prima di chiamare DoModal
, ma dopo la costruzione dell'oggetto dialogo.
Dopo aver chiamato DoModal
, è possibile chiamare altre funzioni membro per recuperare le impostazioni o l'input di informazioni da parte dell'utente nella finestra di dialogo.
Se il flag PD_RETURNDC viene utilizzato quando si chiama DoModal
, verrà restituito un controller di dominio della stampante nel hDC
membro di m_pdex. Questo controller di dominio deve essere liberato con una chiamata a DeleteDC dal chiamante di CPrintDialogEx
.
CPrintDialogEx::GetCopies
Chiamare questa funzione dopo aver chiamato DoModal
per recuperare il numero di copie richieste.
int GetCopies() const;
Valore restituito
Numero di copie richieste.
CPrintDialogEx::GetDefaults
Chiamare questa funzione per recuperare le impostazioni predefinite del dispositivo della stampante predefinita senza visualizzare una finestra di dialogo.
BOOL GetDefaults();
Valore restituito
TRUE se ha esito positivo; in caso contrario, FALSE.
Osservazioni:
Crea un contesto di dispositivo della stampante dalle strutture DEVMODE e DEVNAMES .
GetDefaults
non visualizza la finestra delle proprietà Stampa. Imposta invece i hDevNames
membri e hDevMode
di m_pdex per gestire le strutture DEVMODE e DEVNAMES inizializzate per la stampante predefinita del sistema. Sia hDevNames
che hDevMode
devono essere NULL o GetDefaults
hanno esito negativo.
Se il flag PD_RETURNDC è impostato, questa funzione non solo restituirà hDevNames
e hDevMode
(che si trova in m_pdex.hDevNames
e m_pdex.hDevMode
) al chiamante, ma restituirà anche un controller di dominio della stampante in m_pdex.hDC
. È responsabilità del chiamante eliminare il controller di dominio della stampante e chiamare la funzione Windows GlobalFree sugli handle al termine dell'oggetto CPrintDialogEx
.
CPrintDialogEx::GetDeviceName
Chiamare questa funzione dopo aver chiamato DoModal per recuperare il nome della stampante attualmente selezionata o dopo aver chiamato GetDefaults per recuperare il nome della stampante predefinita.
CString GetDeviceName() const;
Valore restituito
Nome della stampante attualmente selezionata.
Osservazioni:
Usare un puntatore all'oggetto CString
restituito da GetDeviceName
come valore di lpszDeviceName
in una chiamata a CDC::CreateDC.
CPrintDialogEx::GetDevMode
Chiamare questa funzione dopo aver chiamato DoModal o GetDefaults per recuperare informazioni sul dispositivo di stampa.
LPDEVMODE GetDevMode() const;
Valore restituito
Struttura dei dati DEVMODE , che contiene informazioni sull'inizializzazione del dispositivo e sull'ambiente di un driver di stampa. È necessario sbloccare la memoria utilizzata da questa struttura con la funzione Windows GlobalUnlock , descritta in Windows SDK.
CPrintDialogEx::GetDriverName
Chiamare questa funzione dopo aver chiamato DoModal o GetDefaults per recuperare il nome del driver di dispositivo della stampante definito dal sistema.
CString GetDriverName() const;
Valore restituito
Oggetto CString
che specifica il nome del driver definito dal sistema.
Osservazioni:
Usare un puntatore all'oggetto CString
restituito da GetDriverName
come valore di lpszDriverName in una chiamata a CDC::CreateDC.
CPrintDialogEx::GetPortName
Chiamare questa funzione dopo aver chiamato DoModal o GetDefaults per recuperare il nome della porta della stampante attualmente selezionata.
CString GetPortName() const;
Valore restituito
Nome della porta della stampante attualmente selezionata.
CPrintDialogEx::GetPrinterDC
Restituisce un handle al contesto del dispositivo della stampante.
HDC GetPrinterDC() const;
Valore restituito
Handle per il contesto del dispositivo della stampante.
Osservazioni:
È necessario chiamare la funzione DeleteDC di Windows per eliminare il contesto di dispositivo al termine dell'uso.
CPrintDialogEx::m_pdex
Struttura PRINTDLGEX i cui membri archiviano le caratteristiche dell'oggetto dialogo.
PRINTDLGEX m_pdex;
Osservazioni:
Dopo aver costruito un CPrintDialogEx
oggetto, è possibile usare m_pdex
per impostare vari aspetti della finestra di dialogo prima di chiamare la funzione membro DoModal . Per altre informazioni sulla m_pdex
struttura, vedere PRINTDLGEX in Windows SDK.
Se si modifica direttamente il m_pdex
membro dati, si eseguirà l'override di qualsiasi comportamento predefinito.
CPrintDialogEx::P rintAll
Chiamare questa funzione dopo aver chiamato DoModal
per determinare se stampare tutte le pagine del documento.
BOOL PrintAll() const;
Valore restituito
TRUE se tutte le pagine del documento devono essere stampate; in caso contrario FALSE.
CPrintDialogEx::P rintCollate
Chiamare questa funzione dopo aver chiamato DoModal
per determinare se la stampante deve collacare tutte le copie stampate del documento.
BOOL PrintCollate() const;
Valore restituito
TRUE se l'utente seleziona la casella di controllo collate nella finestra di dialogo; in caso contrario FALSE.
CPrintDialogEx::P rintCurrentPage
Chiamare questa funzione dopo aver chiamato DoModal
per determinare se stampare la pagina corrente nel documento.
BOOL PrintCurrentPage() const;
Valore restituito
TRUE se è selezionata l'opzione Stampa pagina corrente nella finestra di dialogo di stampa; in caso contrario, FALSE.
CPrintDialogEx::P rintRange
Chiamare questa funzione dopo aver chiamato DoModal
per determinare se stampare solo un intervallo di pagine nel documento.
BOOL PrintRange() const;
Valore restituito
TRUE se è necessario stampare solo un intervallo di pagine nel documento; in caso contrario FALSE.
Osservazioni:
Gli intervalli di pagine specificati possono essere determinati da m_pdex (vedere nPageRanges
, nMaxPageRanges
e lpPageRanges
nella struttura PRINTDLGEX in Windows SDK).
CPrintDialogEx::P rintSelection
Chiamare questa funzione dopo aver chiamato DoModal
per determinare se stampare solo gli elementi attualmente selezionati.
BOOL PrintSelection() const;
Valore restituito
TRUE se devono essere stampati solo gli elementi selezionati; in caso contrario FALSE.
Vedi anche
Classe CCommonDialog
Grafico della gerarchia
Struttura CPrintInfo