在vc++中,资源和类有怎样的关系?
2015-05-15 09:03
148 查看
严格的讲,资源不属于某一个类。资源是属于整个工程。在整个工程中,任何地方都可以通过指针、类对象声明、资源ID号、使用头文件、引用宏、使用资源序号、调用动态库文件等方式,来使用这些资源。 对话框资源,要使用可以为其添加对话框类,但它本质上的意义,并不是说它就属于这个类,比如,你完全可以在另一个对话框上,点某个按钮,或者达到特定的条件,弹出这个对话框。比如下面的示例:(在Dialog2上) #include "Dialog1.h" ..... void CDialog2::OnOK() { CDialog1 dlg1; dlg1.DoModal(); } 这也就是说,一旦新增一个对话框并为其指定了类,便可以在整个工程的任何地方使用它。 请注意,这并不是说,这个对话框就属于给它指定的这个类。 我们知道,比如一张位图资源,一旦导入,便可以通过ID号,或资源序号,随处使用。但也可以这样:(其他代码我就不打了,只写关键代码) CBitmap bkBitmap; bkBitmap.LoadBitmap(IDB_BITMAP1); 来加载这张已导入进来的位图。但你就不能说,这个位图是属于CBitmap的。 其他资源也一样,比如图标、声音、字串、版本等等,皆是一般,可以通过声明相应类对象来使用这些资源。 综上所述,要对资源进行加载、使用等操作,虽然有时候是通过声明类对象来实现的,但是并不能讲是属于这个类的。 而实现使用的过程,是相应的类提供了比较全面的适合特定资源的某些操作的方法成员和数据成员。比如,CDialog类提供了ShowWindow()方法,CBitmap类提供了LoadBitmap()方法,CBrush类提供了CreatePattenBrush()方法,等等,是用来对相应资源进行相关操作的。这并不是一种从属关系。 以上,就是资源与类的关系。确切的讲,资源与类其实没有什么关系。但你可以这样理解:资源通过相应的类,来实现你要的操作;类,提供了特定资源可进行的各种操作的接口和方法。
相关文章推荐
- VC中,CAboutDlg,CDrawApp,CDrawDoc,CDrawView和CMainFrame五个类的关系是怎样的?它们各有什么作用?
- 怎样copy一个工程里的dialog资源到另外一个工程的对话框(vc++)
- 你用VC纯资源dll解决国际化问题
- vc 加载外部资源,释放DLL
- SPARK task执行与资源分配的关系
- VC2008以资源形式实现多语言版本[转]
- VC使用libcurl模拟登录CSDN并自动评论资源以获取积分
- 安装 SQL Server 2012/2014 vc_red.msi出现错误怎样解决?
- dll中封装MFC(VC2012)资源--自定义一个复用的登录界面
- 怎样学习vc
- 邵亦波博客:怎样的公司能拿到vc的投资
- 关于Win32 API(VC作为程序设计语言)的创建线程,解决互斥访问临界资源问题
- 一步一步教你用VC纯资源dll解决国际化问题
- VC资源分配、释放表
- 怎样认识理解语言和思维的关系?
- VC调用word时,怎样才能隐藏word的某些菜单项
- 资源文件读取_文件_VC技术文章_VC源动力
- VC++中怎样把一个对话框最小化到任务栏
- VC中如何将资源打包并释放到指定文件夹
- 区块链与大数据究竟有着怎样的关系?