zoukankan      html  css  js  c++  java
  • MFC获取纸张大小

    BOOL CPrintView::GetPageSize(CSize &nRetVal)  // CPrintView 是自己创建的类
          {
             PRINTDLG FAR * pPrintDlg = new PRINTDLG;
             BOOL bRet = FALSE;
     
          // Get the current printer's settings.
     
             if(AfxGetApp()->GetPrinterDeviceDefaults(pPrintDlg))
             {
     
          // Get pointers to the two setting structures.
     
                DEVNAMES FAR *lpDevNames =
                (DEVNAMES FAR *)::GlobalLock(pPrintDlg->hDevNames);
     
                DEVMODE FAR *lpDevMode =
                (DEVMODE FAR *)::GlobalLock(pPrintDlg->hDevMode);
     
          // Get the specific driver information.
     
                CString szDriver((LPTSTR)lpDevNames +
                                     lpDevNames->wDriverOffset);
                CString szDevice((LPTSTR)lpDevNames +
                                     lpDevNames->wDeviceOffset);
                CString szOutput((LPTSTR)lpDevNames +
                                     lpDevNames->wOutputOffset);
     
          // Create a CDC object according to the current settings.
     
                CDC pDC;
                pDC.CreateDC(szDriver, szDevice, szOutput, lpDevMode);
     
          // Query this CDC object for the width and height of the current
          // page.
     
                /*static int*/ nRetVal.cx = pDC.GetDeviceCaps(HORZSIZE);
               /* static int*/ nRetVal.cy = pDC.GetDeviceCaps(VERTSIZE);
     
          // Get rid of the CDC object.
     
                pDC.DeleteDC();
     
          // Unlock the pointers to the setting structures.
     
                ::GlobalUnlock(pPrintDlg->hDevNames);
                ::GlobalUnlock(pPrintDlg->hDevMode);
     
              bRet = TRUE;
             }
           delete pPrintDlg;
           return bRet;
       }
  • 相关阅读:
    Vcenter虚拟化三部曲----SQL Server 2008 R2 数据库安装
    Vcenter虚拟化三部曲----VMWare ESXi 5.5安装及配置
    SaltStack 自动化工具
    KVM虚拟化
    redis单节点集群
    linux--yum源,源码包
    运维工程师常用命令(持续更新)
    TARS基金会:构建微服务开源生态
    TarsGo新版本发布,支持protobuf,zipkin和自定义插件
    .NET 发送电子邮件
  • 原文地址:https://www.cnblogs.com/liangxiaofeng/p/5713605.html
Copyright © 2011-2022 走看看