Comment avez par défaut l'impression est faite
Cet article explique le processus d'impression par défaut dans windows en termes de infrastructure MFC.
Dans les applications de MFC, la classe d'affichage fournit une fonction membre OnDraw nommée qui contient le code de dessin. prendOnDraw un pointeur vers un objet CDC comme paramètre. Cet objet CDC représente le contexte de périphérique pour recevoir l'image générée par OnDraw. Lorsque la fenêtre affichant le document reçoit un message WM_PAINT, l'infrastructure appelle OnDraw et lui passe un contexte de périphérique pour l'écran (objet CPaintDC, pour être précis). Par conséquent, la sortie de OnDrawpasse à l'écran.
En programmation pour windows, envoyer la sortie vers l'imprimante est très similaire à envoyer la sortie à l'écran. Cela est dû au fait que le Graphics Device Interface (GDI) Windows est indépendant du matériel. Vous pouvez utiliser les mêmes fonctions de GDI pour afficher l'écran ou pour l'impression simplement à l'aide du contexte de périphérique. Si l'objet CDC que OnDraw reçoit représente l'imprimante, la sortie de OnDrawva à l'imprimante.
Ceci explique comment les applications MFC peuvent effectuer une impression simple sans effort supplémentaire de votre part. L'infrastructure prend soin d'afficher la boîte de dialogue Imprimer et de créer un contexte de périphérique pour l'imprimante. Lorsque l'utilisateur sélectionne la commande imprimer du menu Fichier, la vue passe ce contexte de périphérique à OnDraw, qui dessine le document sur l'imprimante.
Toutefois, il existe des différences significatives entre l'impression et l'écran. Lors de la copie, vous devez diviser le document en pages distinctes et les afficher une par une, plutôt que d'afficher n'importe quelle partie visible dans une fenêtre. En corollaire, vous devez être informé que le format du papier (qu'il s'agisse de taille de caractères, de format administratif, ou d'une forme). Vous pouvez imprimer dans différentes orientations, telles que le mode paysage et le mode portrait. La bibliothèque MFC ne peut pas prévoir comment votre application traite ces problèmes, il fournit un protocole pour pouvoir ajouter ces fonctions.
Ce protocole est décrit dans l'article Documents multipages.