CDC,CPaintDC,CClientDC,CWindowDC区别
来源:互联网 发布:中兴算法工程师 编辑:程序博客网 时间:2024/05/02 01:04
CDC,CPaintDC,CClientDC,CWindowDC区别
————————————————————————
1、首先,对DC进行解释一下:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制。DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息。Win32程序在绘制图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉。
2、然后,理顺CDC的派生类关系:
CObject
public |------CDC
public |------|------CClientDC
public |------|------CPaintDC
public |------|------CWindowDC
public |------|------CMetaFileDC
(注意: 除CMetaFileDC以外的三个派生类用于图形绘制.)
3 、具体的区别,在下面:
CDC是Windows绘图设备的基类
CClientDC:
(1)(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数中包含了GetDC,析构函数中包含了ReleaseDC
CPaintDC:
(1)用于响应窗口重绘消息(WM_PAINT)是的绘图输出。
(2)CPaintDC在构造函数中调用BeginPaint()取得设备上下文,在析构函数中调用EndPaint()释放设备上下文。EndPaint()除了释放设备上下文外,还负责从消息队列中清除WM_PAINT消息。因此,在处理窗口重画时,必须使用CPaintDC,否则WM_PAINT消息无法从消息队列中清除,将引起不断的窗口重画。
(3)CPaintDC也只能用在WM_PAINT消息处理之中。
CWindowDC:
(1)可在非客户区绘制图形,而CClientDC,CPaintDC只能在客户区绘制图形。
(2)坐标原点是在屏幕的左上角,CClientDC,CPaintDC下坐标原点是在客户区的左上角。
(3)关联一特定窗口,允许开发者在目标窗口的任何一部分进行绘图,包含边界与标题,这种DC同WM_NCPAINT消息一起发送
说明:在绘图时推荐使用CClientDC,CPaintDC和CWindowDC对象,而不推荐直接使用CDC对象。
实例:
CClientDC *pDC = new CClientDC(this);
CWindowDC dc(this);
————————————————————————
Good Luck !
- CDC,CPaintDC,CClientDC,CWindowDC区别
- CDC,CPaintDC,CClientDC,CWindowDC区别
- CDC,CPaintDC,CClientDC,CWindowDC区别
- CDC,CPaintDC,CClientDC,CWindowDC区别
- CDC,CPaintDC,CClientDC,CWindowDC区别
- CPaintDC 、CWindowDC、 CClientDC、 CDC
- CClientDC,CPaintDC,CWindowDC,CDC
- CDC,CPaintDC,CWindowDC,CClientDC
- HDC,CDC,CClientDC,CPaintDC,CWindowDC的区别
- HDC,CDC,CClientDC,CPaintDC,CWindowDC的区别
- CDC,CPaintDC,CClientDC,CWindowDC的区别
- HDC,CDC,CPaintDC,CClientDC,CWindowDC区别
- CDC,CClientDC,CPaintDC,CWindowDC 比较区别
- CClientDC CDC CPaintDC CWindowDC 的区别
- CClientDC CDC CPaintDC CWindowDC 的区别
- CDC,CClientDC,CPaintDC,CWindowDC 比较区别
- CPaintDC 、CWindowDC、 CClientDC、 CDC联系与区别
- CDC,CClientDC,CPaintDC,CWindowDC 比较区别
- 第8周项目4-字符串加密
- 第九周项目1 猴子选大王(数组版)
- 欢迎使用CSDN-markdown编辑器
- SecureCRT ,在linux上 rz命令老是上传失败原因解决方案
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(1)
- CDC,CPaintDC,CClientDC,CWindowDC区别
- awk 学习总结
- 第九周项目2——对称矩阵压缩存储的实现与应用(1)
- java基础
- Spring注解注入
- android 使用 audiorecord 和 audiotrack 实现实时录音播放
- 《深入理解计算机系统》(原书第二版)粗读笔记
- Android 突破64K方法数的限制
- 1925: [Sdoi2010]地精部落