2012. 1. 4. 10:48


   // 인쇄 다이얼로그 박스 출력
 CPrintDialog printDlg(FALSE);
 if (printDlg.DoModal() == IDCANCEL) return;
 
  // 프린터 DC를 얻음
 CDC dc;
 dc.Attach(printDlg.GetPrinterDC());
 dc.m_bPrinting = TRUE;
 
  // 인쇄될 도큐먼트에 관한 정보 설정
 CString strTitle;                          
 strTitle.LoadString(AFX_IDS_APP_TITLE);
 DOCINFO di;                      
  ::ZeroMemory (&di, sizeof (DOCINFO));
 di.cbSize = sizeof (DOCINFO);
 di.lpszDocName = strTitle;
 
  // 도큐먼트 인쇄 시작
  BOOL bPrintingOK = dc.StartDoc(&di);

  // CPrintInfo에 인쇄 관련 정보 설정
  CPrintInfo Info;
  Info.m_rectDraw.SetRect(0,0, dc.GetDeviceCaps(HORZRES), dc.GetDeviceCaps(VERTRES));
 
  // OnBeginPrinting 함수 호출
  OnBeginPrinting(&dc, &Info);

  // 페이지를 인쇄하는 루프
 // int aaa = Info.GetMaxPage();
//  for (UINT page = Info.GetMinPage(); page <= printPage && bPrintingOK; page++)
//  {
//   // 페이지 인쇄 시작
   dc.StartPage();
   Info.m_nCurPage = 1;
 
   // OnPrint 함수 호출
   OnPrint(&dc, &Info);

   // 페이지 인쇄 완료
   bPrintingOK = (dc.EndPage() > 0);
//  }
 
  // OnEndPrinting 함수 호출
  OnEndPrinting(&dc, &Info);

  // 도큐먼트 인쇄 종료
  if (bPrintingOK) dc.EndDoc();
  else dc.AbortDoc();
  dc.Detach();

'Windows Prog' 카테고리의 다른 글

배경색 변경  (0) 2012.01.06
나이계산  (0) 2012.01.05
툴바 없애기  (0) 2012.01.01
프린트(버튼클릭시)  (0) 2012.01.01
뷰 크기 지정  (0) 2011.12.31
Posted by Triany