Condividi tramite


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 CPrintDialogExle 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 CPrintDialogExdi , vedere Classi di dialoghi comuni.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CDialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

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, nMaxPageRangese 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