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