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