다음을 통해 공유


CPrintDialog::GetDefaults

대화 상자를 표시 하지 않고 기본 프린터의 장치 기본값을 검색 합니다.

BOOL GetDefaults( );

반환 값

함수가 성공 하면 0이 아닌. 그렇지 않으면 0입니다.

설명

검색된 한 값에 배치 되는 m_pd 구조.

호출에 따라서는이 함수를 호출 하는 생성자CPrintDialog 와 bPrintSetupOnly 설정 FALSE.이러한 경우 프린터 DC 및 hDevNameshDevMode (두 핸들 위치에 m_pd 데이터 멤버) 자동으로 할당 됩니다.

경우 생성자에 대 한 CPrintDialog 호출 된 bPrintSetupOnly 설정 FALSE,이 함수 에서만 돌아갑니다 hDevNameshDevMode (에 m_pd.hDevNamesm_pd.hDevMode)는 호출자에 게 있지만 프린터 DC에도 반환 합니다 m_pd.hDC.DC 프린터를 삭제 하 고 Windows를 호출 하는 호출자의 책임입니다 GlobalFree 함수에 완료 되 면 핸들에는 CPrintDialog 개체입니다.

예제

이 코드 단편 기본 프린터 장치 컨텍스트를 가져옵니다 및 해상도 인치 당 도트에서 프린터의 사용자에 게 보고 합니다.(프린터의 기능을이 특성으로 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
}

요구 사항

헤더: afxdlgs.h

참고 항목

참조

CPrintDialog 클래스

계층 구조 차트

CPrintDialog::m_pd

CPrintDialog::GetDeviceName

CPrintDialog::GetDriverName

CPrintDialog::GetPortName