VC基础学习--打开学习的契机

来源:互联网 发布:游戏王卡图故事 知乎 编辑:程序博客网 时间:2024/06/04 19:25

 第三章 图形和文本的输出

为了达到设备无关性,Windows提供了GDI 图形设备接口,负责用户绘图

操作的转换,用户只需要和GDI提供的设备环境打交道就行了。
设备环境类
MFC提供,CDC,CPaintDC,CClientDC,CWindowDC和CMetaFileDC

功能描述

 

CDC 所有设备环境类的基类,对GDI所有的绘图函数进行了封装,可以直

接访问显示器或非显示器,如打印机的上下文。

 

CPaintDC CPaintDC 用于响应窗口重绘消息(WM_PAINT)的绘图输出,不仅

可对客户区进行操作,还可以对非客户区进行操作

 

CClientDC 代表窗口客户区的设备环境,一般在响应非窗口消息并对客户

区绘图时要用到该类

 

CWindowDC 代表整个窗口的设备环境,包括客户区和非客户区;除非要自

己绘制窗口边框和按钮,否则一般不用它

 

CMetaFileDC 代表Windows 图元文件的设备环境;一个Windows 图元文件

包括一系列的图形设备接口命令,可以通过重放这些命令来创建图形;对

CMetaFileDC 对象进行的各种绘制操作可以被记录到一个图元文件中

 

获取设备环境

绘图前,必须准备好设备环境DC。设备环境不像其他Windows 结构,在程

序中不能直接存取,只能通过系统提供的一系列函数或使用设备环境的句

柄HDC 来间接地获取或设置设备环境结构中的各项属性,这些属性包括显

示器高度和宽度、支持的颜色数及分辨率等。

1,传统的SDK
在WM——PAINT消息处理函数中调用API函数BeginPaint()
在消息返回前调用api中的EndPaint()释放设备环境,
如果不是在WM_PAINT消息处理函数中,则通过API函数GetDC()获得设备环

境,ReleaseDC()释放设备环境

2,MFC获取设备环境的方法

一是接受一个参数为指向CDC 对象的指针
二是声明一个 MFC 设备环境类的对象,并使用this 指针为该对象赋值。

原创粉丝点击