QQ登录

只需一步,快速开始

上位机MFC如何获得页面信息

[ 复制链接 ]
页面的信息可以通过对话框处理类的设备上下文获得。
                CDC* pDC = CDC::FromHandle(hDC);

                //获得打印页面宽度
                int nHorzSize = pDC->GetDeviceCaps(HORZRES);
                //获得打印页面高度
                int nVertSize = pDC->GetDeviceCaps(VERTRES);
                //获得物理页面宽度
                int nWidth =  pDC->GetDeviceCaps(PHYSICALWIDTH);
                //获得物理页面高度
                int nHeight = pDC->GetDeviceCaps(PHYSICALHEIGHT);
                //获得左、右边距
                int nOffsetX = pDC->GetDeviceCaps(PHYSICALOFFSETX);
                //获得上、下边距
                int nOffsetY= pDC->GetDeviceCaps(PHYSICALOFFSETY);

我们可以通过按钮控件的点击函数来查看效果。
  1. void CDemoDlg::OnTest()
  2. {
  3.         //打印对话框
  4.         DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS
  5.                 | PD_NOSELECTION | PD_HIDEPRINTTOFILE;
  6.         CPrintDialog dlg(FALSE);

  7.         if (dlg.DoModal() == IDOK)
  8.         {
  9.                 //获得打印机DC
  10.                 HDC hDC = dlg.GetPrinterDC();
  11.                 if (hDC == NULL)
  12.                 {
  13.                         return;
  14.                 }

  15.                 //通过HDC获得CDC指针
  16.                 CDC* pDC = CDC::FromHandle(hDC);

  17.                 //获得打印页面宽度
  18.                 int nHorzSize = pDC->GetDeviceCaps(HORZRES);
  19.                 //获得打印页面高度
  20.                 int nVertSize = pDC->GetDeviceCaps(VERTRES);
  21.                 //获得物理页面宽度
  22.                 int nWidth =  pDC->GetDeviceCaps(PHYSICALWIDTH);
  23.                 //获得物理页面高度
  24.                 int nHeight = pDC->GetDeviceCaps(PHYSICALHEIGHT);
  25.                 //获得左、右边距
  26.                 int nOffsetX = pDC->GetDeviceCaps(PHYSICALOFFSETX);
  27.                 //获得上、下边距
  28.                 int nOffsetY= pDC->GetDeviceCaps(PHYSICALOFFSETY);

  29.                 CString strText = _T("");
  30.                 strText.Format(_T("%s%d\n%s%d\n%s%d\n%s%d\n%s%d\n%s%d"),
  31.                         _T("打印页面宽度:"), nHorzSize,
  32.                         _T("打印页面高度:"), nVertSize,
  33.                         _T("物理页面宽度:"), nWidth,
  34.                         _T("物理页面高度:"), nHeight,
  35.                         _T("左右边距:"), nOffsetX,
  36.                         _T("上下边距:"), nOffsetY);
  37.                 AfxMessageBox(strText);
  38.         }
  39. }
复制代码
  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  


回复

使用道具 举报

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