【Visual C++】CDC与HDC的区别以及相互转换
来源:互联网 发布:电路仿真软件proteus 编辑:程序博客网 时间:2024/05/18 02:49
CDC是MFC的DC的一个类
HDC是DC的句柄,API中的一个类似指针的数据类型.
MFC类的前缀都是C开头的
H开头的大多数是句柄
这是为了助记,是编程读\写代码的好的习惯.
CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类).
CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄.
记住下面的一句话,会有助于你的理解.
MFC的类,是在用window API语句开发出来的有一定功能的小程序.(也可称为类).使用它的默认方法,就是,记住它的名字与参数(可以用笔记,代替脑记).
如果将window api比做汇编语言
那么MFC就相当于Basic语言.
cdc是设备描述表的基类,clientDC指代客户区的设备描述表,PaintDC只用于OnPaint()函数中
CDC是MFC的DC的一个类
HDC是DC的句柄,API中的一个类似指针的数据类型.
MFC类的前缀都是C开头的
H开头的大多数是句柄
这是为了助记,是编程读\写代码的好的习惯.
CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类).
CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄.
记住下面的一句话,会有助于你的理解.
MFC的类,是在用window API语句开发出来的有一定功能的小程序.(也可称为类).使用它的默认方法,就是,记住它的名字与参数(可以用笔记,代替脑记).
如果将window api比做汇编语言
那么MFC就相当于Basic语言.
HDC是WINDOWS的一种数据类型,是设备描述句柄。
CDC 到HDC 的转化:
方法一: 此方法在设备结束时不会销毁原来的资源(即:hDC,hBitmap)
CDC *pDC = CDC::FromHandle(hDC);
CBitmap *pBitmap = CBitmap::FromHandle(hBitmap);
方法二: 此方法在设备结束时会销毁原来的资源(即:hDC,hBitmap)
CDC dc;
dc.Attach(hDC);
CBitmap bit;
bit.Attach(hBitmap);
在结束的时候加dc.detach()也不会销毁原来资源
HDC hdc;
tip1:
HDC hdc;
tip2:
CDC 是MFC中的类
tip3:
CDC cdc;
tip4:
CDC dc;
tip5:
CDC to hdc
tip6:
dc.FromHandle(hDC)产生一个dc,但是是临时的,mfc不保证系统在什么时候删除dc.
tip7:
查找替换。将所有的(hdc,替换为pdc->(当然。前面声明个
转自:http://blog.sina.com.cn/s/blog_523491650100gwii.html
- 【Visual C++】CDC与HDC的区别以及相互转换
- 【Visual C++】CDC与HDC的区别以及相互转换
- HDC与CDC的相互转换
- CDC与HDC的区别以及二者之间的转换
- CDC与HDC的区别以及二者之间的转换
- CDC与HDC的区别以及他们之间的转换
- CDC与HDC的区别以及二者之间的转换
- CDC与HDC的区别以及二者之间的转换
- HDC与CDC相互转换
- HDC与CDC相互转换
- HDC与CDC相互转换
- HDC与CDC相互转换
- HDC与CDC相互转换
- CDC和HDC的区别与转换
- CDC和HDC的区别与转换
- CDC和HDC的区别与转换
- CDC和HDC的区别与转换
- CDC和HDC的区别与转换
- 设计师的品牌意识
- 设计师的品牌意识
- 2.2.1 xaml 名称空间
- 五个非常重要的移动Web内容适应设计理念
- 五个非常重要的移动Web内容适应设计理念
- 【Visual C++】CDC与HDC的区别以及相互转换
- 汇编--冒泡排序
- SQL SERVER 2012 COLUMNSTORE INDEX - 之一
- 常见开源项目的代码统计
- 09CS
- 动态替换Linux核心函数的原理和实现
- 【C++】关于随机函数与概率设置
- MFC程序中消息以及函数的处理顺序
- 自定义Visual Studio 2010 快捷键