码迷,mamicode.com
首页 > 编程语言 > 详细

Visual C++ 打印编程技术-编程基础

时间:2015-03-31 19:29:09      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

 背景: windows产生前,操作系统(如DOS等)都不提供支持图像处理的打印机驱动程序,使得程序员为打印出图像,不得不针对使用的打印机

          自己编写设备驱动程序,导致了大量的、不必要的重复开发。

          随着windows操作系统系统的面世,其所提供的设备环境模型允许开发人员将显示器、打印机和绘图仪等设备都堪称 二维绘图接口,并且

          设置驱动程序已经由制造商完成,开发人员无需再编写打印驱动程序。Windows操作系统提供的API接口支持图像打印功能,但对开发者来

          讲,打印依然是比较困难的编程任务。幸运的是,MFC库6.0版本大大简化打印的实现,并且加入了打印预览的功能,使得开发者容易开发 

          出不错的打印和预览功能来。

          两个重要概念“设备环境” 和 “映射模式”

  1.设备环境

           设备环境本身是GDI(Graphics Device Interface)对象。每个C++设备对象有一个相关的设备环境,它由一个32位HDC类型句柄来标识。GDI是windows核心DLL中的一组接口函数。这些函数处于硬件的驱动程序之上,当应用程序调用这些函数的时候,他们再调用驱动程序提供的接口函数。

     MFC 6.0 版本提供大量的设备环境类型。基类CDC封装了绘图需要的所有成员函数,这些函数提供了大量的绘图、坐标映射、裁剪功能。

     除了CmetaFileDC类之外,派生类只在他们的构造函数和析构函数中有所区别。

     CDC类: 使用MFC编程,所有的设备环境不是CDC就是从CDC派生的。

                  CDC类有两个底层GDI对象有关的句柄:

                  m_hDC:与m_hDC相关的GDI对象处理绘图函数所有输出流;

                  m_hAttribDC:与m_hAttribDC句柄有关的GDI对象处理所有与绘图属性有关的操作,如颜色属性、绘图模式。

                 每个窗口、控件(包括通用控件和Activex控件)都拥有一个覆盖窗口或控件的设备环境变量。我们既可以获得Windows桌面的窗口设备环境,在桌面上绘制,也可以使用任何一个控件的设备环境,从而绘制控件或者改善控件的外观。

                  获得设备环境对象指针调用:GetDC()函数。在构造一个CDC对象,并且对它处理完之后,务必使用ReleaseDC()函数释放CDC对象。

                 注意:不善删除通过OnDraw()函数的置身参数传递的CDC对象,应用程序框架会自动控制它的删除。

Visual C++ 打印编程技术-编程基础

标签:

原文地址:http://www.cnblogs.com/ericyi/p/4381560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!