CDC,CPaintDC,CClientDC,CWindowDC区别
来源:互联网 发布:java http服务器框架 编辑:程序博客网 时间:2024/05/18 02:27
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);
转帖:http://www.cnblogs.com/songsu/articles/1350014.html
========================================================================================
HDC,CDC,CClientDC的区别和联系
pDC 是 类指针
HDC 是 windows句柄
通过pDC获得hdc:
HDC hdc=pDC->GetSafeHdc();
通过hdc获得pDC:
CDC *pDC=new CDC;
pDC->Attach(hdc);
HDC是WINDOWS的一种数据类型,是设备描述句柄。
而CDC是MFC里的一个类,它封装了几乎所有的关于
HDC的操作。
也可以这样说,HDC定义的变量指向一块内存,这块
内存用来描述一个设备的相关的内容,所以也可以
认为HDC定义的是一个指针;而CDC类定义一个对象,
这个对象拥有HDC定义的一个设备描述表,同时也包
含与HDC相关的操作的函数。
这与HPEN和CPen,POINT与CPoint之间的差别是一样
CPaintDC dc(this)
CDC* pDC=GetDC()
CClientDC dc(this)
转帖:http://blog.csdn.net/jingjing_123/article/details/3837526
- 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 比较区别
- 以太网帧最小字节数以及以太网碰撞
- 选择排序 Selection Sort
- 从iteye抄过来的,ireport 用在你项目一般出错的2个问题
- 哈哈哈,第一次做codeforce
- 远程连接出现ERROR 1130
- CDC,CPaintDC,CClientDC,CWindowDC区别
- ASPxGridView的FocusedRowChanged
- 奉劝各位小朋友要做个有脑子的人哦。人们嘴上说的,跟心里想的,经常是反的。
- 易语言宝盒,易语言编程学习者必备工具
- vi和vim的区别与联系
- 白盒测试方法-静态结构分析法
- Linux下静态库与动态库的使用
- inline hook 多核安全相关问题随记。。。
- Silverlight 登录自动焦点等页面的小细节【自动设置焦点,回车登陆】 .