Condividi tramite


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

Vedere anche

Riferimenti

Classe CPrintDialog

Grafico delle gerarchie

CPrintDialog::m_pd

CPrintDialog::GetDeviceName

CPrintDialog::GetDriverName

CPrintDialog::GetPortName