MFC学习点滴三:句柄,指针,对象,资源的ID
来源:互联网 发布:淘宝几单才有2颗心 编辑:程序博客网 时间:2024/04/25 19:00
摸索了很长时间,先在有些感觉。
1 句柄和指针。 指针只是一个地址(逻辑上的,给人的感觉就是只顾上头,而顾不上尾巴,而句柄好像能指
向一个块),而句柄手中握有资源,有人也把句柄作为MFC中的一种智能指针,这个我很赞同。句柄可以访问进
程,资源,通过调用API或MFC的函数来改动,比指针更安全。句柄是对指针更高层次的抽象。
2 对象和句柄。对象是类的一个实例化。这个两个概念放在一起,最初是我在看到《VC++深入详解》里
对CMenu对象使用Detach()时。
有这样的一段程序:
SetMenu(NULL); // 先将原来的菜单拆下
CMenu menu; //对象
menu.LoadMenu(IDR_MAINFRAME);
SetMenu(&menu); //装上对象
menu.Detach(); //就是这里,书上说是将对象和句柄相分离
CMenu menu; //对象
menu.LoadMenu(IDR_MAINFRAME);
SetMenu(&menu); //装上对象
menu.Detach(); //就是这里,书上说是将对象和句柄相分离
如果没有用Detach()的话,会出现错误,因为menu是一个局部变量,在销毁之前还没有和
IDR_MAINFRAME脱离关系,而IDR_FRAME作为一项资源,是全局存在的。
将对象和句柄分开。menu肯定是对象,那么IDR-MAINFRAME就是句柄了。IDR_MAINFRAME是资源句柄,
资源是存在的,一直。对象可以消灭,资源相对来说是全局的,菜单对象只是一种手段来让我们可以
轻松的管理菜单资源,就像一个修车车间,菜单资源就像是车子,把车子装入车间,我们就可以改造
它,改造完成以后,我们再把车子从车间里送出来。
我们是通过菜单对象来修改菜单资源的。
3 资源的ID和句柄。现在的理解是:资源的ID号即是一个句柄。嘿嘿。
- MFC学习点滴三:句柄,指针,对象,资源的ID
- MFC句柄、指针、ID三者转换
- mfc中id,句柄,指针
- MFC中对象、句柄、ID之间的区别
- MFC中对象、句柄、ID之间的区别
- MFC中对象、句柄、ID之间的区别.
- WINDOWS 下MFC中对象、句柄、ID之间的区别
- 下MFC中对象、句柄、ID之间的区别.
- 下MFC中对象、句柄、ID之间的区别.
- MFC _窗口ID,句柄,指针三者相互转换函数
- MFC 获得各个类的指针、句柄 ID 和 this指针的使用
- MFC中获得各个类的指针/句柄 ID的总结
- MFC 中获得各个类的指针/句柄 ID的总结
- MFC中获得各个类的指针/句柄 ID的总结
- MFC 中获得各个类的指针/句柄 ID的总结
- MFC中获得各个类的指针/句柄 ID的总结
- MFC中获得各个类的指针/句柄 ID的总结
- MFC中获得各个类的指针/句柄 ID的总结
- How to study C && ASM Code(3)
- How to study C && ASM Code(6)
- Qmail控制文件详解
- How to study C && ASM Code(4)
- Enterprise Library2.0(1):Data Access Application Block
- MFC学习点滴三:句柄,指针,对象,资源的ID
- VC6打开临时文件,导致特权执行漏洞
- Enterprise Library2.0(2):Logging Application Block
- 有点想kill掉......
- BIRT的书
- Discuz! 5.5.0(GBK版本) CMS 1.1 文章系统发布(最后更新:2007-4-18)
- 《解剖PetShop》系列之一
- 《解剖PetShop》系列之二
- 关于中国软件外包