VC++中关于DC(设备环境函数(Dev ice Contex t))的理解 问:设备描述表DC 是一个什么概念,谁通俗的说说,先谢了 学习VC,首先遇到的就是这个DC,即设置描述表,输出文字,绘图都要用这个,好象它太重要了
但是我就是不明白,这是什么东西
一些教程看了,但还是不太了解,谁能通俗的说说,能快速理解它,谢谢
答:1、作画之前需要准备好画布、画笔、调色板等
当使用GDI 函数如 Mov eToEx /LineTo, Tex tOu t 时,只是告诉系统要划线或写字了,但用什么样的笔(HPEN),字是什么颜色(SetTex tColor),画在哪张“纸”(HBITMAP)上需要从一个由系统定义的数据结构中去读取
这个数据结构被称为 Dev ice Contex t(DC)
换句话说,GDI 函数只是绘画的动作,而 DC 则保存了绘画所需的材料和工具
2、设备环境函数(Dev ice Contex t) 设备环境是一个结构,它定义了一系列图形对象及其相关的属性,以及会影响输出结果的绘图方式
这些图形对象包括:画笔(用于画直线),笔刷(用于绘图和填充),位图(用于屏幕的拷贝或滚动),调色板(用于定义可用的颜色集),剪裁区(用于剪裁和其他操作),路径(用于绘图和画图操作)
设备环境函数用于对设备环境进行创建、删除或获取信息
问:DC,CDC,HDC,CClientDC
有什么本质的区别
答:都是DC 嘛,HDC 就是最原始的 DC 句柄,很多 API 的第一个参数就是一个HDC类型,比如 HDC hDC = ::GetDC( m_hWnd); ::Mov eToEx ( hDC, 0, 0, NULL ); ::LineTo( hDC, 0, 100, ); ::ReleaseDC( m_hWnd, hDC ); 在 MFC 中,为了将 API 封