在MFC中,我要打印一个票据,怎么设置打印页的大小!因为我在连打时候出现了问题!
第二页的打印地方不对了.!!
求救,急需!!!

解决方案 »

  1.   

    pInfo->m_pPD->m_pd.lStructSize=(DWORD)sizeof(PRINTDLG);
    BOOL bRet=AfxGetApp()->GetPrinterDeviceDefaults(&(pInfo->m_pPD->m_pd));DEVMODE FAR *pDevMode=(DEVMODE FAR *)::GlobalLock(pInfo->m_pPD->m_pd.hDevMode);
    //pDevMode->dmPaperSize ::GlobalUnlock(pInfo->m_pPD->m_pd.hDevMode);祥见MSDN的DEVMODE Structure
      

  2.   

    在OnPrepareDC( CDC* pDC, CPrintInfo* pInfo = NULL )中用SetWindowExt试试
      

  3.   

    需要在每一页重新设置CDC的参数,如SetMapMode之类的
      

  4.   

    m_PaperSize = CSize(pDC->GetDeviceCaps(HORZRES), pDC->GetDeviceCaps(VERTRES) );