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 CPrintDialogEx
les 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
IObjectWithSite
IPrintDialogCallback
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_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_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_RETURNDC est défini, cette fonction ne retourne hDevNames
pas seulement et (située dans m_pdex.hDevNames
et hDevMode
m_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 case à cocher collate dans la boîte de dialogue ; 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
, nMaxPageRanges
et 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