CPrintDialog::GetDefaults
Obnoví výchozí nastavení zařízení výchozí tiskárny bez zobrazení dialogového okna.
BOOL GetDefaults( );
Vrácená hodnota
Nenulová hodnota, pokud funkce byla úspěšná. jinak 0.
Poznámky
Načtené hodnoty budou vloženy do m_pd struktury.
V některých případech bude volat volání této funkce konstruktoru pro CPrintDialog s bPrintSetupOnly nastavena na FALSE.V těchto případech tiskárny DC a hDevNames je a hDevMode (dva úchyty umístěn v m_pd datový člen) jsou automaticky přidělovány.
Pokud konstruktor pro CPrintDialog byla volána s bPrintSetupOnly nastavena na FALSE, nevrátí pouze tuto funkci hDevNames je a hDevMode (v m_pd.hDevNames a m_pd.hDevMode) volajícímu, ale také vrátí DC tiskárny v m_pd.hDC.Odpovídá volající odstranit tiskárnu DC a volání systému Windows GlobalFree funkce když skončíte s úchyty CPrintDialog objektu.
Příklad
Tento fragment kódu získá kontext zařízení výchozí tiskárnu a ohlásí uživateli rozlišení tiskárny v bodech na palec.(Tento atribut vlastnosti tiskárny se často nazývá 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
}
Požadavky
Záhlaví: afxdlgs.h