给你贴两段,自己改一下:
CPrintDialog dlg(FALSE, PD_ALLPAGES | PD_COLLATE | PD_NOPAGENUMS | PD_NOSELECTION);
if(dlg.DoModal() != IDOK)
{
return;
} HDC hDC = dlg.GetPrinterDC(); if(m_PrintDC.m_hDC)
::DeleteDC(m_PrintDC.Detach());
m_PrintDC.Attach(hDC); DOCINFO di; // Initialise print document  details
::ZeroMemory (&di, sizeof (DOCINFO));
di.cbSize = sizeof (DOCINFO);
di.lpszDocName = "BraveTech HuanYing"; BOOL bPrintingOK = m_PrintDC.StartDoc(&di);        // Begin a new print job
int nTotal = m_nPrintingCopies;
int nPageWidth = m_PrintDC.GetDeviceCaps(HORZRES);
int nPageHeight = m_PrintDC.GetDeviceCaps(VERTRES); int nOldMode = m_PrintDC.SetStretchBltMode(STRETCH_DELETESCANS);
for(int i = 0; i < nTotal; i++)
{
INT n = m_PrintDC.StartPage(); // begin new page //draw your content

//
n = m_PrintDC.EndPage();
}
m_PrintDC.SetStretchBltMode(nOldMode); m_PrintDC.EndDoc(); // end a print job