CPrintDialog

La classe CPrintDialog encapsule les services fournis par la boîte de dialogue commune de Windows pour l'impression. Boîtes de dialogue Imprimer du commun offrent un moyen facile à mettre en œuvre des boîtes de dialogue Imprimer et imprimer le programme d'installation d'une manière compatible avec les normes de Windows.

Si vous le souhaitez, vous pouvez compter sur le cadre pour gérer de nombreux aspects du processus d'impression pour votre application. Dans ce cas, le cadre affiche automatiquement la boîte de dialogue commune de Windows pour l'impression. Vous pouvez également avoir la poignée du cadre d'impression pour votre application mais substituer la boîte de dialogue Imprimer commune avec votre propre boîte de dialogue Imprimer. Pour plus d'informations sur l'utilisation du cadre pour gérer les tâches d'impression, consultez l'article d'impression dans le Guide du programmeur Visual C++.

Si vous souhaitez que votre application pour gérer l'impression sans implication du cadre, vous pouvez utiliser la classe CPrintDialog "tel quel" avec le constructeur fourni, ou vous pouvez dériver votre propre classe de boîte de dialogue de CPrintDialog et écrire un constructeur en fonction de vos besoins. Dans les deux cas, ces boîtes de dialogue seront comportent comme des boîtes de dialogue MFC standards parce qu'ils sont dérivés de la classe CCommonDialog.

Pour utiliser un objet CPrintDialog , créez d'abord l'objet en utilisant le constructeur CPrintDialog . Une fois la boîte de dialogue a été construite, vous pouvez définir ou modifier toutes les valeurs de la structure m_pd pour initialiser les valeurs des contrôles de la boîte de dialogue. La structure m_pd est de type PRINTDLG. Pour plus d'informations sur cette structure, consultez la documentation du SDK Win32.

Si vous ne fournissez pas vos propres poignées en m_pd pour les membres de champ hDevMode et hDevNames , veillez à appeler la fonction Windows GlobalFree pour ces poignées lorsque vous avez terminé avec la boîte de dialogue. Lors de l'application de configuration de l'impression du cadre fournie par CWinApp::OnFilePrintSetup, vous n'avez pas de libérer ces poignées. Les poignées sont maintenues par CWinApp et sont libérées dans le destructeur de CWinApp. Il est seulement nécessaire de libérer ces poignées lors de l'utilisation de CPrintDialog autonome.

Après l'initialisation les contrôles de la boîte de dialogue, appelez la fonction membre DoModal pour afficher la boîte de dialogue et de permettre à l'utilisateur de sélectionner des options d'impression. DoModal retourne si l'utilisateur a sélectionné le OK (IDOK) ou le bouton Annuler (IDCANCEL).

Si DoModal retourne IDOK, vous pouvez utiliser une des fonctions des membres du CPrintDialogpour récupérer les informations entrées par l'utilisateur.

La fonction de membre CPrintDialog::GetDefaults est utile pour récupérer les valeurs par défaut imprimante actuelle sans afficher une boîte de dialogue. Cette fonction membre ne requiert 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 la documentation du SDK Win32.

CPrintDialog s'appuie sur la COMMDLG.Fichier DLL qui est livré avec Windows version 3.1 ou ultérieure.

Pour personnaliser la boîte de dialogue, dérivez une classe de CPrintDialog, fournir un modèle de boîte de dialogue personnalisée et ajouter une carte message pour traiter les messages de notification des contrôles étendus. Les messages d'état brut doivent être passés de la classe de base. Personnalisation de la fonction de raccordement n'est pas nécessaire.

Pour traiter le même message différemment selon que la boîte de dialogue est imprimé ou la configuration de l'impression, vous devez dériver une classe pour chaque boîte de dialogue. Vous devez également substituer la fonction Windows AttachOnSetup , qui gère la création d'une nouvelle boîte de dialogue lorsque le bouton de configuration de l'impression est sélectionné dans une boîte de dialogue d'impression.

Pour plus d'informations sur l'utilisation de CPrintDialog, voir Classes de boîte de dialogue communes dans le Guide du programmeur Visual C++.

# include lt;afxdlgs.h>

Membres de la classe |nbsp ; Classe de base | Graphique de la hiérarchie

Écha&ntillonnbsp ; MFC exemple DIBLOOK

Voir aussi  ;CPrintInfo

Index