CDC类的简介

CDC类:

       Windows使用与设备无关的图形设备环境(DC :Device Context)进行显示。MFC基础类库定义了设备环境对象类----CDC类。

       CDC类从 CObject 直接继承而来。继承了CObject类的各种特性,如动态创建等等。

       例如用GDI画矩形要Rectangle(hDC,…),而使用CDC则是dc.Rectangle(…),由此可见CDC主要是把原本需要HDC作为参数的GDI函数封装了一下,HDC成了它的一个成员变量。

        CDC类是一个较大的类,包括许多成员函数,如映射函数,绘画工具函数,区域函数等,通过CDC对象的成员函数可以完成所有的绘画工作(在使用CClientDC进行绘图时,一般要调用GetClientRect()函数来获取客户区域的大小;),它具有如下的子类:

1.CPaintDC:仅限于OnPaint处理程序 ,用于响应窗口重绘消息(WM_PAINT)时的绘图输出在处理窗口重画时,必须使用CPaintDC ,否则WM_PAINT消息无法从消息队列中清除,将引起不断的窗口重画。CPaintDC也只能用在WM_PAINT消息处理之中。

2.CClientDC:(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其 构造函数中包含了GetDC,析构函数中包含了ReleaseDC

注:在绘图前,必须先得到 客户区大小 DC 、设置绘图颜色,然后再根据文档数据或用户操作来绘制图形。

3.CWindowDC:整个窗口的显示描述表,包括客户区和框架区。可在非客户区绘制图形,而CClientDC,CPaintDC只能在客户区绘制图形。

4.CMetaFileDC:Windows源文件的设备描述表。Windows源文件包含一个图形设备接口(GDI)命令序列,该序列可被重新执行而创建一幅图像,该类提供了面向对象的GDI图源文件的封装。对CMetaFileDC的成员函数的调用记录在一个原文件中

/******************************************************************************************************/

CDC类数据成员只有两个:

HDC m_hDC : CDC对象使用的输出设备上下文

HDC m_hAttribDC : CDC对象使用的属性设备上下文

参考:https://www.cnblogs.com/wangyaning/p/3763573.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶布布

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值