Re: Печать
От: _juks_ http://juks.ru
Дата: 23.06.04 12:12
Оценка:
void CPrinterView::outprint(HDC mdc)
{
CDC dc;
dc.Attach(mdc); // Attach a printer DC
dc.m_bPrinting = TRUE;

CString strTitle; // Get the application title
strTitle.LoadString(AFX_IDS_APP_TITLE);

DOCINFO di; // Initialise print document details
::ZeroMemory (&di, sizeof (DOCINFO));
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = strTitle;

BOOL bPrintingOK = dc.StartDoc(&di); // Begin a new print job

// Get the printing extents and store in the m_rectDraw field of a
// CPrintInfo object
CPrintInfo Info;
Info.m_rectDraw.SetRect(0,0, dc.GetDeviceCaps(HORZRES),dc.GetDeviceCaps(VERTRES));

OnBeginPrinting(&dc, &Info); // Call your "Init printing" funtion
for (UINT page = Info.GetMinPage(); page <= Info.GetMaxPage() && bPrintingOK; page++)
{
dc.StartPage(); // begin new page
Info.m_nCurPage = page;
OnPrepareDC(&dc, &Info);
OnPrint(&dc, &Info); // Call your "Print page" function
bPrintingOK = (dc.EndPage() > 0); // end page
}
OnEndPrinting(&dc, &Info); // Call your "Clean up" funtion

if (bPrintingOK)
dc.EndDoc(); // end a print job
else
dc.AbortDoc(); // abort job.

dc.Detach();
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.