[MFC]设备环境CDC类及其派生

本文介绍了MFC如何对GDI进行封装,特别是CDC类在设备环境中的应用。CDC类封装了Windows的图形设备接口GDI,提供了面向对象的方式进行图形操作。文章详细讲解了DC(设备描述表)的概念,以及MFC中CDC的继承结构,包括CPaintDC、CClientDC、CWindowDC和CMetaFileDC等类的使用场景和特性。此外,还讨论了全屏程序中的图形绘制方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. MFC对GDI的封装——CDC类:

    1) Graphical Device Interface:即图形设备接口,是一种编程接口,用以简单地通过函数调用来控制实际的物理图形设备的行为;

    2) Windows实现了GDI与图形平台无关的特性,即对于不同显示器、显卡、打印机的操作都可采用同样的GDI来实现;

    3) MFC将过去Win32的GDI进行了面向对象封装,并且将DC(Device Context,即设备描述表)封装进了CDC类中,一切有关图形的操作都可以通过该类来操作;

    4) 关于DC的具体含义:字面意思是设备上下文,之所以是上下文,因为用户绘制图形的对象可能会根据需要而改变,比如一会儿需要在屏幕上的窗口绘图,一会儿又需要在打印机上绘图,即使是在屏幕上绘图,而其所绘的区域可能也是不同的,而以上所说的窗口(可分为客户区、非客户区、甚至是整个系统桌面范围内)、打印机等都可以是用户绘图的目标,也就是术语“绘图对象”,这些对象可能会根据程序的需求“随上下文”而变化,比如一开始只是在屏幕上写文章,而此时DC指向的是word程序的客户区,即DC将在word窗口的客户区绘制文字,当文本写好后,就需要打印,而此时DC便指向了打印设备,使打印机“绘制文本”,即DC的指向随程序的流程(或是需求)变化而变化,而这就是“上下文”的含义了;

而DC也称作设备描述表,这其实和“上下文”不矛盾,描述表体现出了DC的底层实现,其实质就是一个数据结构,即绘图对象在内存中存储结构的描述(说白了就是一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值