Compartir a través de


CPrintDialog::GetDefaults

Recupera los valores predeterminados de dispositivo de la impresora predeterminada sin mostrar un cuadro de diálogo.

BOOL GetDefaults( );

Valor devuelto

Distinto de cero si la función es correcta; si no 0.

Comentarios

Los valores recuperados se colocan en la estructura de m_pd .

En algunos casos, una llamada a esta función llamará constructor para CPrintDialog con bPrintSetupOnly establecido en FALSO.En estos casos, una TITLE. y hDevNames y hDevMode (dos controladores de impresora ubicados en el miembro de datos de m_pd ) automáticamente se asignan.

Si se llamó al constructor para CPrintDialog con bPrintSetupOnly establecido en FALSO, esta función no solo devolverá hDevNames y hDevMode (ubicados en m_pd.hDevNames y m_pd.hDevMode) al llamador, pero también devolverá una TITLE. de impresora en m_pd.hDC.Es responsabilidad del llamador eliminar elementos TITLE. printer y llamar a la función de Windows GlobalFree en identificadores cuando termine con el objeto de CPrintDialog .

Ejemplo

Este fragmento de código obtiene el contexto y los informes del dispositivo de impresora predeterminada al usuario la resolución de la impresora en puntos por pulgada.(Este atributo de las capacidades de la impresora suele denominarse 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
}

Requisitos

encabezado: afxdlgs.h

Vea también

Referencia

Clase de CPrintDialog

Gráfico de jerarquía

CPrintDialog::m_pd

CPrintDialog::GetDeviceName

CPrintDialog::GetDriverName

CPrintDialog::GetPortName