Partager via


CPrintDialog::GetDefaults

Récupère les valeurs par défaut du périphérique de l'imprimante par défaut sans afficher une boîte de dialogue.

BOOL GetDefaults( );

Valeur de retour

Une valeur différente de zéro si la fonction a abouti ; sinon 0.

Notes

Les valeurs récupérées sont définies dans la structure d' m_pd .

Dans certains cas, un appel de cette fonction appelle constructeur pour CPrintDialog avec bPrintSetupOnly affectez à FALSE.Dans ces cas, le DC d'imprimante et hDevNames et hDevMode (deux poignées trouvent dans le membre d' m_pd ) sont automatiquement alloués.

Si le constructeur pour CPrintDialog est appelé avec bPrintSetupOnly plaçait à FALSE, cette fonction retourne non seulement hDevNames et hDevMode (trouvent dans m_pd.hDevNames et m_pd.hDevMode) à l'appelant, mais retourne également un DC d'imprimante dans m_pd.hDC.Il revient à l'appelant de supprimer le DC d'imprimante et d'appeler la fonction de GlobalFree windows sur les handles lorsque vous avez terminé avec l'objet d' CPrintDialog .

Exemple

Ce fragment de code obtient le contexte et les états du périphérique d'imprimante par défaut à l'utilisateur la résolution de l'imprimante dans les points par pouce.(Cet attribut des fonctions de l'imprimante est souvent appelé PPP.)

CPrintDialog dlg(FALSE);

if (!dlg.GetDefaults())
{
   AfxMessageBox(_T("You have no default printer!"));
}
else
{
   // attach to the DC we were given
   CDC dc;
   dc.Attach(dlg.m_pd.hDC);

   // ask for the measurements
   int nHorz = dc.GetDeviceCaps(LOGPIXELSX);
   int nVert = dc.GetDeviceCaps(LOGPIXELSY);

   // almost always the same in both directions, but sometimes not!
   CString str;
   if (nHorz == nVert)
   {
      str.Format(_T("Your printer supports %d pixels per inch"), nHorz);
   }
   else
   {
      str.Format(_T("Your printer supports %d pixels per inch ")
         _T("horizontal resolution, and %d pixels per inch vertical ")
         _T("resolution"), nHorz, nVert);
   }

   // tell the user
   AfxMessageBox(str);

   // Note: no need to call Detach() because we want the CDC destructor
   // to call FreeDC() on the DC we borrowed from the common dialog
}

Configuration requise

Header: afxdlgs.h

Voir aussi

Référence

Classe de CPrintDialog

Graphique de la hiérarchie

CPrintDialog::m_pd

CPrintDialog::GetDeviceName

CPrintDialog::GetDriverName

CPrintDialog::GetPortName