CPrintDialog::GetDefaults
Recupera le impostazioni predefinite del dispositivo la stampante predefinita senza visualizzare una finestra di dialogo.
BOOL GetDefaults( );
Valore restituito
Diverso da zero se la funzione è riuscita, in caso contrario 0.
Note
I valori recuperati vengono inseriti nella struttura m_pd.
In alcuni casi, una chiamata alla funzione chiamata costruttore per CPrintDialog con bPrintSetupOnly impostato su FALSE.In questi casi, un controller di dominio printer e hDevNames e hDevMode (due handle inserite nel membro dati m_pd ) automaticamente vengono allocati.
Se il costruttore per CPrintDialog viene chiamato con bPrintSetupOnly impostato su FALSE, questa funzione non solo restituirà hDevNames e hDevMode (trovano in m_pd.hDevNames e in m_pd.hDevMode) al chiamante, ma anche restituirà un controller di dominio della stampante con m_pd.hDC.È responsabilità del chiamante di eliminare il controller di dominio printer e di chiamare la funzione di Windows GlobalFree sugli handle al termine dell'oggetto CPrintDialog.
Esempio
Nel frammento di codice ottiene il contesto di dispositivo e le relazioni della stampante predefinita all'utente la risoluzione della stampante con dpi.(Questo attributo delle funzionalità della stampante è spesso detto DPI).
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
}
Requisiti
Header: afxdlgs.h