QQ登录

只需一步,快速开始

上位机MFC如何获得和设置打印方向

[ 复制链接 ]
打印的方向我们可以调用下面的按钮点击函数来查看效果。
  1.         return (HCURSOR) m_hIcon;
  2. }

  3. void CDemoDlg::OnTest()
  4. {
  5.         //打印对话框
  6.         DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS
  7.                 | PD_NOSELECTION | PD_HIDEPRINTTOFILE;
  8.         CPrintDialog dlg(FALSE);

  9.         //获得默认DEVMODE
  10.         CPrintDialog pd(TRUE);
  11.         pd.GetDefaults();
  12.         dlg.m_pd.hDevMode = pd.m_pd.hDevMode;

  13.         DEVMODE* pDevMode = (DEVMODE*)::GlobalLock(dlg.m_pd.hDevMode);
  14.         if (pDevMode == NULL)
  15.         {
  16.                 return;
  17.         }

  18.         //设置打印方向
  19.         pDevMode->dmOrientation = DMORIENT_LANDSCAPE;

  20.         if (dlg.DoModal() == IDOK)
  21.         {
  22.                 //获得打印方向
  23.                 if (pDevMode->dmOrientation == DMORIENT_PORTRAIT)
  24.                 {
  25.                         AfxMessageBox(_T("方向:纵向"));
  26.                 }
  27.                 else if (pDevMode->dmOrientation == DMORIENT_LANDSCAPE)
  28.                 {
  29.                         AfxMessageBox(_T("方向:横向"));
  30.                 }
  31.         }

  32.         ::GlobalUnlock(dlg.m_pd.hDevMode);
  33. }
复制代码


可以看到打印处理类的成员变量可以实现很多功能。
其中dlg.m_pd.hDevMode变是用来处理打印方向 的。


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索