Share via


CView::OnPreparePrinting

Appelé par l'infrastructure avant qu'un document ne soit imprimé ou affiché un aperçu de.

virtual BOOL OnPreparePrinting(
   CPrintInfo* pInfo 
);

Paramètres

  • pInfo
    Les points à CPrintInfo structure qui décrit le travail d'impression actuelle.

Valeur de retour

Une valeur différente de zéro pour démarrer l'impression ; 0 si le travail d'impression a été annulée.

Notes

L'implémentation par défaut n'exécute aucune opération.

Vous devez substituer cette fonction pour activer l'impression et l'aperçu avant impression.Appelez la fonction membre de DoPreparePrinting , en lui passant le paramètre d' pInfo , puis retourne sa valeur de retour ; DoPreparePrinting affiche la boîte de dialogue d'impression et crée un contexte de périphérique d'impression.Si vous souhaitez initialiser la boîte de dialogue d'impression avec des valeurs autres que les valeurs par défaut, assignez des valeurs aux membres d' pInfo.Par exemple, si vous connaissez la longueur du document, passez la valeur à la fonction membre de SetMaxPage d' pInfo avant d'appeler DoPreparePrinting.Cette valeur est affichée dans : zone dans la partie de la plage de la boîte de dialogue d'impression.

DoPreparePrinting n'affiche pas la boîte de dialogue d'impression pour un travail d'aperçu.Si vous souhaitez ignorer la boîte de dialogue d'impression pour un travail d'impression, vérifiez que le membre de m_bPreview d' pInfo est FALSE puis définissez la à TRUE avant de les passer à DoPreparePrinting; remettez- leur mot de passe le à FALSE après.

Si vous devez exécuter les initialisations qui requièrent l'accès à l'objet d' CDC représentant le contexte de périphérique d'impression (par exemple, si vous devez connaître la Taille de page avant de spécifier la longueur de le document), substituez la fonction membre d' OnBeginPrinting .

Si vous souhaitez définir la valeur des membres de m_nNumPreviewPages ou de m_strPageDesc du paramètre d' pInfo ce faire, après avoir appelé DoPreparePrinting.La fonction membre d' DoPreparePrinting définit m_nNumPreviewPages à la valeur trouvée dans le fichier .ini de l'application et définit m_strPageDesc à sa valeur par défaut.

Exemple

Substituez OnPreparePrinting et appelez DoPreparePrinting de la substitution de sorte que l'infrastructure affiche une boîte de dialogue d'impression et crée un DC d'imprimante pour vous.

BOOL CMyEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
   return CEditView::DoPreparePrinting(pInfo);
}

Si vous connaissez le nombre de pages le document contient, définit la page maximale dans OnPreparePrinting avant d'appeler DoPreparePrinting.L'infrastructure affiche le numéro de page maximale dans « à » la zone de la boîte de dialogue d'impression.

BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
   //The document has 2 pages.
   pInfo->SetMaxPage(2);
   return CView::DoPreparePrinting(pInfo);
}

Configuration requise

Header: afxwin.h

Voir aussi

Référence

Classe de modèle CView

Graphique de la hiérarchie

Structure de CPrintInfo

CView::DoPreparePrinting

CView::OnBeginPrinting

CView::OnPrepareDC

CView::OnPrint