// 인쇄 다이얼로그 박스 출력
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 |