VC中设置打印默认方向

转自 http://mywallop.com/Public.aspx?id=3564836&ty=ly

2种设置打印方向的方法.

1. 
CPrintInfo printInfo;
 AfxGetApp()->GetPrinterDeviceDefaults(&printInfo.m_pPD->m_pd);
 if (printInfo.m_pPD->m_pd.hDC == NULL)
 {
  // call CreatePrinterDC if DC was not created by above
  printInfo.m_pPD->CreatePrinterDC();
 }
 CDC dcPrint;
 dcPrint.Attach(printInfo.m_pPD->m_pd.hDC);  // attach printer dc
 dcPrint.m_bPrinting = TRUE;


 LPDEVMODE  pDevMode;
 pDevMode=printInfo.m_pPD->GetDevMode();
 if(pDevMode!=NULL)
 {
  pDevMode->dmOrientation=DMORIENT_LANDSCAPE;
  dcPrint.ResetDC(pDevMode);
 }

2.
void CMyApp::SetLandscapeMode()
{
   PRINTDLG pd;
   pd.lStructSize=(DWORD)sizeof(PRINTDLG);
   BOOL bRet=GetPrinterDeviceDefaults(&pd);
   if(bRet)
   {
      // protect memory handle with ::GlobalLock and ::GlobalUnlock
      DEVMODE FAR *pDevMode=(DEVMODE FAR *)::GlobalLock(m_hDevMode);
      // set orientation to landscape
      pDevMode->dmOrientation=DMORIENT_LANDSCAPE;
      ::GlobalUnlock(m_hDevMode);
   }
}
其实两种方法调用的应该都是基于方法2的.

转自 http://mywallop.com/Public.aspx?id=3564836&ty=ly

阅读更多
文章标签: null
想对作者说点什么? 我来说一句

vc设置系统默认打印

2010年09月02日 3KB 下载

没有更多推荐了,返回首页

不良信息举报

VC中设置打印默认方向

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭