vc++中如何为对话框添加类

vc++中如何为对话框添加类,第1张

如果你用的是VC6.0,当添加一个对话框资源(在资源视图中加),接着进入wizard,会提示是否添加一个类,这时你可以为其加一个类名;

如果是用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()方法,等等,是用来对相应资源进行相关 *** 作的。这并不是一种从属关系。

以上,就是资源与类的关系。确切的讲,资源与类其实没有什么关系。但你可以这样理解:资源通过相应的类,来实现你要的 *** 作;类,提供了特定资源可进行的各种 *** 作的接口和方法。

希望能为你带来帮助,谢谢!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11938180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存