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;
   }

MFC获取纸张大小的更多相关文章

  1. 从BIRT报表文件中获取页面设置信息(页边距、纸张大小、输出方向)的方法

     从BIRT报表文件中获取页面设置信息(页边距.纸张大小.输出方向)的方法    报表打印时,尤其是套打的报表,页面设置信息非常重要,比如页边距,纸张大小,输出方向等,而且每个报表的相关参数有可能不同 ...

  2. 利用ActiveX实现web页面设置本地默认打印机、纸张大小

    通常web技术无法设置本地计算机的默认打印机,包括用代码设置纸张大小,如果业务系统中真遇到这种需求,只能通过其它辅助手段(比如ActiveX)实现.下面这段代码,出自网上被广泛使用的"泥人张 ...

  3. C# 将Excel转为PDF时自定义表格纸张大小

    通过后端程序将Excel表格转为PDF格式时,直接转换后的PDF效果可能出现表格页面过小或者过大,导致页面内容分布不均.要改善转换后的文档效果,只需在转换前自定义表格纸张大小,即可调整转换后的PDF页 ...

  4. iOS获取网络图片大小

    在iOS开发过程中经常需要通过网络请求加载图片,有时,需要在创建UIImageView或UIButton来显示图片之前需要提前知道图片的尺寸,根据图片尺寸创建对应大小的控件.但是对于网络图片来说,要想 ...

  5. js获取屏幕大小

    1.js获取屏幕大小 <html> <script> function a(){ document.write( "屏幕分辨率为:"+screen.widt ...

  6. 用 Javascript 获取页面大小、窗口大小和滚动条位置

    页面大小.窗口大小和滚动条位置这三个数值在不同的浏览器例如 Firefox 和 IE 中有着不同的实现.即使在同一种浏览器例如 IE 中,不同版本也有不同的实现. 本文给出两个能兼容目前所有浏览器的 ...

  7. vc/mfc获取rgb图像数据后动态显示及保存图片的方法

    vc/mfc获取rgb图像数据后动态显示及保存图片的方法 该情况可用于视频通信中获取的位图数据回放显示或显示摄像头捕获的本地图像 第一种方法 #include<vfw.h> 加载 vfw3 ...

  8. iOS 获取内存大小使用情况(进度条显示)

    一.获取设备内存大小方法 //返回存储内存占用比例 - (NSString *)getFreeDiskspaceRate{ float totalSpace; .f; NSError *error = ...

  9. C#中使用自定义的纸张大小

    using System.Drawing.Printing; using System.Drawing; private void Test() { PrintDocument m_pdoc = ne ...

随机推荐

  1. bzoj 1015 星球大战starwar

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1015 题解: 如果按照题目的意思,每次删点.删边太困难了……于是采用逆向思维,构造出最后的 ...

  2. windows系统安装mysql压缩zip版

    1.下载 打开官网:https://www.mysql.com 进入DOWNLOADS--->Community--->MySQL Community Server,选择系统对应的版本点击 ...

  3. python_day5学习笔记

    一.正则表达式 字符: \d 匹配任何十进制数:相当于类[0-9] \D 匹配任何非数字字符:相当于类[^0-9] \s  匹配任何空白字符:相当于类[  \t\n\r\f\v] \S  匹配任何非空 ...

  4. LightOJ - 1234

    Harmonic Number Time Limit: 3000MS   Memory Limit: 32768KB   64bit IO Format: %lld & %llu Descri ...

  5. Django Ajax学习一

    1. 简单的加法 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  6. HTTP资源合集

    (1)MoZILLA开发者web技术文档之HTTP 未完待续...

  7. Go语言建立一个最简单的服务端点

    handlers/handlers.go package handlers import ( "encoding/json" "net/http" ) func ...

  8. AC日记——送花 洛谷 P2073

    送花 思路: 线段树: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 struct TreeN ...

  9. UVa 221 Urban Elevations 城市正视图 离散化初步 无限化有限

    转载请注明: 仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/ 题目大意: 题目传送门:UVa 221 Urban Elevations 给出城市中建筑物的x, ...

  10. 洛谷——P4018 Roy&October之取石子

    P4018 Roy&October之取石子 题目背景 Roy和October两人在玩一个取石子的游戏. 题目描述 游戏规则是这样的:共有n个石子,两人每次都只能取p^kpk个(p为质数,k为自 ...