Partage via


CPrintDialogEx, classe

Encapsule les services fournis par la feuille de propriétés Imprimer Windows.

Syntaxe

class CPrintDialogEx : public CCommonDialog

Membres

Constructeurs publics

Nom Description
CPrintDialogEx ::CPrintDialogEx Construit un objet CPrintDialogEx.

Méthodes publiques

Nom Description
CPrintDialogEx ::CreatePrinterDC Crée un contexte d’appareil d’imprimante sans afficher la boîte de dialogue Imprimer.
CPrintDialogEx ::D oModal Affiche la boîte de dialogue et permet à l’utilisateur d’effectuer des sélections.
CPrintDialogEx ::GetCopies Récupère le nombre de copies demandées.
CPrintDialogEx ::GetDefaults Récupère les valeurs par défaut de l’appareil sans afficher une boîte de dialogue.
CPrintDialogEx ::GetDeviceName Récupère le nom de l’appareil d’imprimante actuellement sélectionné.
CPrintDialogEx ::GetDevMode Récupère la DEVMODE structure.
CPrintDialogEx ::GetDriverName Récupère le nom du pilote de périphérique d’imprimante défini par le système.
CPrintDialogEx ::GetPortName Récupère le nom du port d’imprimante actuellement sélectionné.
CPrintDialogEx ::GetPrinterDC Récupère un handle dans le contexte de l’appareil d’imprimante.
CPrintDialogEx ::P rintAll Détermine s’il faut imprimer toutes les pages du document.
CPrintDialogEx ::P rintCollate Détermine si les copies compilées sont demandées.
CPrintDialogEx ::P rintCurrentPage Détermine s’il faut imprimer la page active du document.
CPrintDialogEx ::P rintRange Détermine s’il faut imprimer uniquement une plage de pages spécifiée.
CPrintDialogEx ::P rintSelection Détermine s’il faut imprimer uniquement les éléments actuellement sélectionnés.

Membres de données publics

Nom Description
CPrintDialogEx ::m_pdex Structure utilisée pour personnaliser un CPrintDialogEx objet.

Notes

Vous pouvez vous appuyer sur l’infrastructure pour gérer de nombreux aspects du processus d’impression pour votre application. Pour plus d’informations sur l’utilisation de l’infrastructure pour gérer les tâches d’impression, consultez l’article Impression.

Si vous souhaitez que votre application gère l’impression sans l’implication du framework, vous pouvez utiliser la CPrintDialogEx classe « tel quel » avec le constructeur fourni, ou vous pouvez dériver votre propre classe de dialogue à partir d’un constructeur et écrire un constructeur en fonction de CPrintDialogEx vos besoins. Dans les deux cas, ces boîtes de dialogue se comportent comme des boîtes de dialogue MFC standard, car elles sont dérivées de la classe CCommonDialog.

Pour utiliser un CPrintDialogEx objet, commencez par créer l’objet à l’aide du CPrintDialogEx constructeur. Une fois la boîte de dialogue construite, vous pouvez définir ou modifier toutes les valeurs de la structure m_pdex pour initialiser les valeurs des contrôles de la boîte de dialogue. La m_pdex structure est de type PRINTDLGEX. Pour plus d’informations sur cette structure, consultez le Kit de développement logiciel (SDK) Windows.

Si vous ne fournissez pas vos propres handles m_pdex pour les membres et hDevNames les hDevMode membres, veillez à appeler la fonction GlobalFree Windows pour ces handles lorsque vous avez terminé avec la boîte de dialogue.

Après avoir initialisé les contrôles de boîte de dialogue, appelez la DoModal fonction membre pour afficher la boîte de dialogue et autoriser l’utilisateur à sélectionner les options d’impression. Lorsque DoModal vous retournez, vous pouvez déterminer si l’utilisateur a sélectionné le bouton OK, Appliquer ou Annuler.

Si l’utilisateur a appuyé sur OK, vous pouvez utiliser CPrintDialogExles fonctions membres pour récupérer l’entrée d’informations par l’utilisateur.

La CPrintDialogEx::GetDefaults fonction membre est utile pour récupérer les valeurs par défaut de l’imprimante actuelle sans afficher de boîte de dialogue. Cette méthode ne nécessite aucune interaction utilisateur.

Vous pouvez utiliser la fonction Windows CommDlgExtendedError pour déterminer si une erreur s’est produite lors de l’initialisation de la boîte de dialogue et pour en savoir plus sur l’erreur. Pour plus d’informations sur cette fonction, consultez le Kit de développement logiciel (SDK) Windows.

Pour plus d’informations sur l’utilisation CPrintDialogEx, consultez Classes de dialogue courantes.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CDialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

CPrintDialogEx

Spécifications

En-tête : afxdlgs.h

CPrintDialogEx ::CPrintDialogEx

Construit une feuille de propriétés d’impression Windows.

CPrintDialogEx(
    DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS       | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
    CWnd* pParentWnd = NULL);

Paramètres

dwFlags
Un ou plusieurs indicateurs que vous pouvez utiliser pour personnaliser les paramètres de la boîte de dialogue, combinés à l’aide de l’opérateur OR au niveau du bit. Par exemple, l’indicateur PD_ALLPAGES définit la plage d’impression par défaut sur toutes les pages du document. Pour plus d’informations sur ces indicateurs, consultez la structure PRINTDLGEX dans le Kit de développement logiciel (SDK) Windows.

pParentWnd
Pointeur vers la fenêtre parent ou propriétaire de la boîte de dialogue.

Notes

Cette fonction membre construit uniquement l’objet. Utilisez la DoModal fonction membre pour afficher la boîte de dialogue.

CPrintDialogEx ::CreatePrinterDC

Crée un contexte d’appareil d’imprimante (DC) à partir des structures DEVMODE et DEVNAMES .

HDC CreatePrinterDC();

Valeur de retour

Gérez le contexte d’appareil d’imprimante nouvellement créé.

Notes

Le contrôleur de domaine retourné est également stocké dans le hDC membre de m_pdex.

Ce contrôleur de domaine est supposé être le contrôleur de domaine d’imprimante actuel, et tous les autres contrôleurs de domaine d’imprimante précédemment obtenus doivent être supprimés. Cette fonction peut être appelée et le contrôleur de domaine obtenu utilisé, sans jamais afficher la boîte de dialogue Imprimer.

CPrintDialogEx ::D oModal

Appelez cette fonction pour afficher la feuille de propriétés Imprimer Windows et permettre à l’utilisateur de sélectionner différentes options d’impression telles que le nombre de copies, la plage de pages et si les copies doivent être compilées.

virtual INT_PTR DoModal();

Valeur de retour

La valeur de retour INT_PTR est en fait un HRESULT. Consultez la section Valeurs de retour dans PrintDlgEx dans le Kit de développement logiciel (SDK) Windows.

Notes

Si vous souhaitez initialiser les différentes options de boîte de dialogue d’impression en définissant les membres de la m_pdex structure, vous devez le faire avant d’appeler DoModal, mais après la construction de l’objet de dialogue.

Après l’appel DoModal, vous pouvez appeler d’autres fonctions membres pour récupérer les paramètres ou l’entrée d’informations par l’utilisateur dans la boîte de dialogue.

Si l’indicateur PD_RETURNDC est utilisé lors de l’appel DoModal, un contrôleur de domaine d’imprimante est retourné dans le hDC membre de m_pdex. Ce contrôleur de domaine doit être libéré avec un appel à DeleteDC par l’appelant de CPrintDialogEx.

CPrintDialogEx ::GetCopies

Appelez cette fonction après avoir appelé DoModal pour récupérer le nombre de copies demandées.

int GetCopies() const;

Valeur de retour

Nombre de copies demandées.

CPrintDialogEx ::GetDefaults

Appelez cette fonction pour récupérer les valeurs par défaut de l’appareil de l’imprimante par défaut sans afficher de boîte de dialogue.

BOOL GetDefaults();

Valeur de retour

TRUE si elle réussit, sinon FALSE.

Notes

Crée un contexte d’appareil d’imprimante (DC) à partir des structures DEVMODE et DEVNAMES .

GetDefaults n’affiche pas la feuille de propriétés Imprimer. Au lieu de cela, il définit les membres et les hDevNames membres de m_pdex à gérer les structures DEVMODE et DEVNAMES qui sont initialisées pour l’imprimante système par hDevMode défaut. Les deux hDevNames et hDevMode doivent être NULL ou GetDefaults échouent.

Si l’indicateur PD_RETURNDC est défini, cette fonction ne retourne hDevNames pas seulement et (située dans m_pdex.hDevNames et hDevModem_pdex.hDevMode) à l’appelant, mais retourne également un contrôleur de domaine d’imprimante dans m_pdex.hDC. Il incombe à l’appelant de supprimer le contrôleur de domaine d’imprimante et d’appeler la fonction Windows GlobalFree sur les handles lorsque vous avez terminé avec l’objet CPrintDialogEx .

CPrintDialogEx ::GetDeviceName

Appelez cette fonction après avoir appelé DoModal pour récupérer le nom de l’imprimante actuellement sélectionnée, ou après avoir appelé GetDefaults pour récupérer le nom de l’imprimante par défaut.

CString GetDeviceName() const;

Valeur de retour

Nom de l’imprimante actuellement sélectionnée.

Notes

Utilisez un pointeur vers l’objet CString retourné par GetDeviceName la valeur d’un lpszDeviceName appel à CDC ::CreateDC.

CPrintDialogEx ::GetDevMode

Appelez cette fonction après avoir appelé DoModal ou GetDefaults pour récupérer des informations sur l’appareil d’impression.

LPDEVMODE GetDevMode() const;

Valeur de retour

Structure de données DEVMODE , qui contient des informations sur l’initialisation de l’appareil et l’environnement d’un pilote d’impression. Vous devez déverrouiller la mémoire prise par cette structure avec la fonction Windows GlobalUnlock , qui est décrite dans le Kit de développement logiciel (SDK) Windows.

CPrintDialogEx ::GetDriverName

Appelez cette fonction après avoir appelé DoModal ou GetDefaults pour récupérer le nom du pilote de périphérique d’imprimante défini par le système.

CString GetDriverName() const;

Valeur de retour

Spécification CString du nom du pilote défini par le système.

Notes

Utilisez un pointeur vers l’objet CString retourné par GetDriverName la valeur de lpszDriverName dans un appel à CDC ::CreateDC.

CPrintDialogEx ::GetPortName

Appelez cette fonction après avoir appelé DoModal ou GetDefaults pour récupérer le nom du port d’imprimante actuellement sélectionné.

CString GetPortName() const;

Valeur de retour

Nom du port d’imprimante actuellement sélectionné.

CPrintDialogEx ::GetPrinterDC

Retourne un handle dans le contexte de l’appareil d’imprimante.

HDC GetPrinterDC() const;

Valeur de retour

Handle vers le contexte de l’appareil d’imprimante.

Notes

Vous devez appeler la fonction Windows DeleteDC pour supprimer le contexte de l’appareil lorsque vous avez terminé de l’utiliser.

CPrintDialogEx ::m_pdex

Structure PRINTDLGEX dont les membres stockent les caractéristiques de l’objet dialog.

PRINTDLGEX m_pdex;

Notes

Après avoir construit un CPrintDialogEx objet, vous pouvez utiliser m_pdex pour définir différents aspects de la boîte de dialogue avant d’appeler la fonction membre DoModal . Pour plus d’informations sur la m_pdex structure, consultez PRINTDLGEX dans le Kit de développement logiciel (SDK) Windows.

Si vous modifiez directement le membre de m_pdex données, vous remplacerez tout comportement par défaut.

CPrintDialogEx ::P rintAll

Appelez cette fonction après avoir appelé DoModal pour déterminer s’il faut imprimer toutes les pages du document.

BOOL PrintAll() const;

Valeur de retour

TRUE si toutes les pages du document doivent être imprimées ; sinon FALSE.

CPrintDialogEx ::P rintCollate

Appelez cette fonction après avoir appelé DoModal pour déterminer si l’imprimante doit rassembler toutes les copies imprimées du document.

BOOL PrintCollate() const;

Valeur de retour

TRUE si l’utilisateur sélectionne la boîte de dialogue case activée collate ; sinon FALSE.

CPrintDialogEx ::P rintCurrentPage

Appelez cette fonction après avoir appelé DoModal pour déterminer s’il faut imprimer la page active dans le document.

BOOL PrintCurrentPage() const;

Valeur de retour

TRUE si l’option Imprimer la page active est sélectionnée dans la boîte de dialogue Imprimer ; sinon FALSE.

CPrintDialogEx ::P rintRange

Appelez cette fonction après avoir appelé DoModal pour déterminer s’il faut imprimer uniquement une plage de pages dans le document.

BOOL PrintRange() const;

Valeur de retour

TRUE si seule une plage de pages du document doit être imprimée ; sinon FALSE.

Notes

Les plages de pages spécifiées peuvent être déterminées à partir de m_pdex (voir nPageRanges, nMaxPageRangeset lpPageRanges dans la structure PRINTDLGEX dans le Kit de développement logiciel (SDK) Windows).

CPrintDialogEx ::P rintSelection

Appelez cette fonction après avoir appelé DoModal pour déterminer s’il faut imprimer uniquement les éléments actuellement sélectionnés.

BOOL PrintSelection() const;

Valeur de retour

TRUE si seuls les éléments sélectionnés doivent être imprimés ; sinon FALSE.

Voir aussi

CCommonDialog, classe
Graphique hiérarchique
CPrintInfo, structure