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

CPrintDialog Class

Gráfico de jerarquías

CPrintDialog::m_pd

CPrintDialog::GetDeviceName

CPrintDialog::GetDriverName

CPrintDialog::GetPortName