第三章 图形和文本的输出
为了达到设备无关性,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 指针为该对象赋值。
本文介绍了Windows系统中图形和文本输出的相关概念和技术细节。重点讲述了GDI图形设备接口的作用及其提供的不同类型的设备环境类,如CDC、CPaintDC、CClientDC等,并解释了它们之间的区别和应用场景。
2297

被折叠的 条评论
为什么被折叠?



