什么是DC呢?
在GDI中,DC(Device Context)是一个非常重要的概念。
有的书中,将DC翻译为设备描述表,也有的书中翻译为设备上下文。
但是这些翻译,无法在我们的头脑里有强烈的冲击,无法生动的诠释。
那么到底什么是DC呢?
用现实中的例子来理解,我想大家会更容易记忆与接受。
拿画画来说。
如果你要画画,那么你需要什么呢?
你得先准备好画布,画笔,颜料。。等等
画画的环境搭好了,那么就可以画画了。
这个画画的环境,就是DC。
在图形环境下,一切都是画出来的,所以你要准备好一个DC,才能在计算机屏幕上画画。---另外写字也是画画的一种。
在计算机的画画的环境中,有哪些对象呢?
画布:GDI对象之一:区域
画笔:GDI对象之一:画笔
颜料盒:GDI对象之一:调色板
如果要在画布上写字的话,写什么样的字体呢?方正字体?宋体字体? --字体也是GDI对象之一。
有的画笔比较粗,专门用来刷大面积背景色的,这就是刷子。--GDI对象之一:刷子。
如果你不想自己画,只想把别人画好的画,贴到你的画布上,这也是可以的。--GDI对象之一:位图。
所以,这里有6种对象可以用于DC。
现在开始画画了,你拿起了一支笔。---这个操作在Windows环境里面叫选择了一个画笔对象,使用SelectObject函数,当然,如果你没带画笔也没关系,Windows为你准备了几只画笔,你可以这样申请系统提供的缺省画笔:hPen = GetStockObject(WHITE_PEN);
如果你画着画着,觉得手中的笔用着不爽,可以换一只啊,没关系的。——依旧是SelectObject()换笔。
当然,如果你走出了画室,别完了把你的画笔清除掉,要不画室里全是笔啊,刷子啊,太乱了。——DeleteObject()
转自:http://www.cnblogs.com/tibetanmastiff/archive/2010/04/27/1722354.html