如果是用VS2005编译,请在对话框资源中,按鼠标右键,d出的菜单中添加类。
更多问题,欢迎进我的空间讨论。
楼主你好!严格的讲,资源不属于某一个类。资源是属于整个工程。在整个工程中,任何地方都可以通过指针、类对象声明、资源ID号、使用头文件、引用宏、使用资源序号、调用动态库文件等方式,来使用这些资源。
对话框资源,要使用可以为其添加对话框类,但它本质上的意义,并不是说它就属于这个类,比如,你完全可以在另一个对话框上,点某个按钮,或者达到特定的条件,d出这个对话框。比如下面的示例:(在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()方法,等等,是用来对相应资源进行相关 *** 作的。这并不是一种从属关系。
以上,就是资源与类的关系。确切的讲,资源与类其实没有什么关系。但你可以这样理解:资源通过相应的类,来实现你要的 *** 作;类,提供了特定资源可进行的各种 *** 作的接口和方法。
希望能为你带来帮助,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)