16,548
社区成员




void CTestPrintDcDlg::OnButton2()
{
// TODO: Add your control notification handler code here
DOCINFO di;
LPCTSTR tPrinterName = _T("Argox X-2000v PPLB");
// get the printer DC
CDC tPrinterDc;
tPrinterDc.CreateDC(NULL,tPrinterName,NULL,NULL);
// initial the DOCINFO
memset( &di, 0, sizeof( DOCINFO));
di.cbSize = sizeof( DOCINFO );
di.lpszDocName = "task";
// start to print task
StartDoc( tPrinterDc.m_hDC, &di );
// start to print a page
StartPage( tPrinterDc.m_hDC );
tPrinterDc.TextOut(10,10,"sdfsdf");
CPen tPen;
tPen.CreatePen(PS_SOLID,5,RGB(0,0,0));
CPen * tOldPen = (CPen *)tPrinterDc.SelectObject(&tPen);
tPrinterDc.Rectangle(CRect(CPoint(100,100),CPoint(500,500)));
tPrinterDc.SelectObject(tOldPen);
// a page is printed
EndPage( tPrinterDc.m_hDC );
// print task has finished.
EndDoc( tPrinterDc.m_hDC );
tPrinterDc.DeleteDC();
}