MFC实现打印所见即所得

最近写了一个打印程序,后来关于如何实现打印的所见即所得,即在屏幕上面显示的内容的大小比例就是打印出来的大小比例方面遇到了困难,经过一些查找最后解决了这个问题,代码如下:

     dc.SetMapMode(MM_ANISOTROPIC);//设置映射模式为异或以让坐标可以自动变换dc.SetWindowExt(m_showw, m_showh);//设置逻辑坐标dc.SetViewportExt(p_maxw, p_maxh);//设置设备坐标

就是设置映射模式为异或,MM_ANISOTROPIC的含义是各向异性,可以设置逻辑坐标的单位、方向和比例。这样可以让系统自动完成逻辑坐标到设备坐标的转换。
代码中,dc是打印设备或者其他输出设备的CDC,m_showw,m_showh分别是屏幕上设置的绘图区域的宽高,p_maxw,p_maxh分别是打印设备和其他输出设备的宽高。
如此,便可以让绘图区域的文字和图片按比例自动缩放到打印区域或其他输出设备的区域。

MFC实现打印所见即所得相关推荐

  1. 使用 MFC 编写打印程序

    摘要 本文首先介绍了利用MFC提供的文档视图框架来实现一个打印程序,实现打印预览,在此基础上,同时通过对MFC源代码的深入探讨,提出了利用该方法在对话框上用MFC实现打印功能,结果表明,利用MFC实现 ...

  2. MFC 使用控制台打印程序信息

    在MFC编程中,代码的调试一直不太直观.搞一个 MessageBox 来打印信息查看程序是否执行或执行是否有误,又或者是在程序中设断点都有不太方便的地方,特别是在需要获得多个信息的情况下更是不便.此外 ...

  3. MFC 对话框打印和打印预览知识总结

    1.准备知识 函数名 覆盖函数可能完成的任务 CView::OnPreparePrinting() 调用CprintInfo成员函数(如CprintInfo::SetMaxPage设置文档长度)或设置 ...

  4. 使用VC/MFC打印(Print)

    第一部分和第二部分是自己的实现及解决方法,第三部分是参考的文章 一:(打印实现的操作流程)     在VC中实现打印操作,网上虽然看了很多的说明或例子,但具体实现时还是感觉迷惑,自己研究了下,将经验总 ...

  5. MFC打印和打印预览

    转自 http://blog.sina.com.cn/s/blog_6130c4c40100e45a.html MFC提供了一个框架性的打印和打印预览功能代码,它的基本思想是将实际显示和打印文档的代码 ...

  6. VS2017 MFC对话框程序打印及打印预览的实现

    VS2017 MFC对话框程序打印及打印预览的实现 花了一个星期,研究了网上大量的MFC对话框打印及打印预览功能的demo之后,网上现有的版本都比较旧,所以选中了几个版本,合并修改,得到这个比较完美的 ...

  7. Visual C++ MFC/ATL开发-提高篇

    MFC简单打印方法 通过MFC来完成打印作业有很多的方法,应用场合也有所不同.我们通常是利用视图框架在MFC基础之上按照OnPreparePrinting() à OnBeginPrinting()  ...

  8. MFC 教程【13_MFC工具条和状态栏 】

    MFC工具条和状态栏 Windows控制窗口 Windows (Windows95或者以上版本) 提供了系列通用控制窗口,其中包括工具条(ToolBar).状态栏(StatusBar).工具条提示窗口 ...

  9. MFC的工具条和状态栏

     Windows控制窗口 Windows (Windows95或者以上版本) 提供了系列通用控制窗口,其中包括工具条(ToolBar).状态栏(StatusBar).工具条提示窗口(ToolTip ...

最新文章

  1. 如何看待亚马逊 AI 李沐团队大批人员离职?
  2. 0基础学python-零基础直接学习Python入门IT合适吗?
  3. recycleview 嵌套高度问题_简单解决RecyclerView嵌套的RecyclerView条目显示不全和宽度不能铺满...
  4. 【聚类算法】常见聚类算法总结
  5. [蓝桥杯2016初赛]凑算式-dfs,next_permutation
  6. Mybatis(笔记)
  7. 玩转oracle 11g(52):Oracle导出导入表(.sql、.dmp文件)两种方法
  8. java如何实现线程_java中线程的三种实现方式
  9. 60名英语专八的半年苦战:机器智能背后有一群“数字工人”
  10. Windows C盘清理指北
  11. VS编译的程序设置----需要以管理员身份打开
  12. 速达软件启示录——记中国一代ERP性价比之王的没落
  13. Axure原型图教程
  14. 微信账号注销了能恢复吗
  15. matlab中滤波器设计与实现,基于MATLAB的IIR滤波器设计与实现
  16. 无监督学习-自编码器-补充|深度学习(李宏毅)(二十)
  17. rpc服务器不可用桌面图标消失,rpc服务器不可用,教您rpc服务器不可用怎么办
  18. 基于SSH的可扩展的程序代码源码Web在线评测系统
  19. 约瑟夫环问题 - Python
  20. 未来五年最值得投资的是哪个方向,为什么?

热门文章

  1. 【React】解决antd样式没有显示问题(网页频闪问题)
  2. 探索企业即时通讯软件的发展趋势
  3. Vue动态加载ECharts图表数据小结
  4. jQuery1.7.1 API的基础教程整理和总结
  5. HTML5 Canvas编写五彩连珠(4):动画
  6. jQuery绑定一次性事件和注销事件
  7. php 正则表达式 中括号 转义符能转换一个字符串吗,转义字符,正则表达式,特殊字符,模式匹配...
  8. python No handlers could be found for logger错误的解决
  9. java批量文件打包成压缩成zip下载和大量数据导出excel时的处理方法
  10. 新人成长:新人在前端团队如何快速成长为技术骨干