CPrintDialog::GetDefaults
Varsayılan yazıcı aygıt Varsayılanları iletişim kutusunu görüntülemeden alır.
BOOL GetDefaults( );
Dönüş Değeri
Sıfır olmayan bir değer işlevi başarılı olursa; Aksi halde 0.
Notlar
Alınan değerler konur m_pd yapısı.
Bazı durumlarda, bu işlev çağrısı çağıracak kurucusu için CPrintDialog ile bPrintSetupOnly ayarlamak yanlış.Bu gibi durumlarda, yazıcı dc ve hDevNames ve hDevMode (iki tutamaçları bulunur m_pd veri üyesi) otomatik olarak ayrılır.
Varsa kurucusu CPrintDialog ile çağrıldı bPrintSetupOnly ayarlamak yanlış, bu işlevi değil yalnızca döndürür hDevNames ve hDevMode (içinde yer alan m_pd.hDevNames ve m_pd.hDevMode) Arayana ama aynı zamanda bir yazıcıya dc döner m_pd.hDC.dc yazıcıyı silmek ve Windows çağırmak için arayan sorumluluğundadır GlobalFree fonksiyonu ile işiniz bittiğinde tanıtıcıları hakkında CPrintDialog nesnesi.
Örnek
Bu kod parçasını varsayılan yazıcının aygıt içeriği alır ve yazıcının inç başına nokta çözünürlük kullanıcıya bildirir.(Bu öznitelik yazıcının yeteneklerini genellikle DPI adlandırılır.)
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
}
Gereksinimler
Başlık: afxdlgs.h