Udostępnij za pośrednictwem


CPrintDialog::GetDefaults

Pobiera ustawienia domyślne urządzenia drukarki domyślnej bez wyświetlania okna dialogowego.

BOOL GetDefaults( );

Wartość zwracana

Niezerowa, jeśli funkcja zakończyła się pomyślnie; 0 inaczej.

Uwagi

Wartości pobierane są umieszczane w m_pd struktury.

W niektórych przypadkach będzie wywoływać wywołanie funkcji konstruktora dla CPrintDialog z bPrintSetupOnly ustawiona na FALSE.W tych przypadkach drukarki DC i hDevNames i pole hDevMode (dwa uchwyty znajdujące się w m_pd Członkowskich danych) są przydzielane automatycznie.

Jeśli konstruktora dla CPrintDialog została wywołana z bPrintSetupOnly ustawiona na FALSE, funkcja ta nie będzie zwracać tylko hDevNames i pole hDevMode (znajduje się w m_pd.hDevNames i m_pd.hDevMode) do wywołującego, ale zwróci drukarki DC w m_pd.hDC.Spoczywa wywołującego usunąć drukarkę DC i wywołać Windows GlobalFree funkcja w uchwyty po zakończeniu pracy z CPrintDialog obiektu.

Przykład

Ten fragment kodu pobiera kontekstu urządzenia drukarki domyślnej i raporty użytkownika rozdzielczość drukarki w punktach na cal.(Ten atrybut możliwości drukarki często nazywa się 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
}

Wymagania

Nagłówek: afxdlgs.h

Zobacz też

Informacje

Klasa CPrintDialog

Wykres hierarchii

CPrintDialog::m_pd

CPrintDialog::GetDeviceName

CPrintDialog::GetDriverName

CPrintDialog::GetPortName