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的底层实现,其实质就是一个数据结构,即绘图对象在内存中存储结构的描述(说白了就是一个