none
资源,资源类,资源变量三者的疑惑 RRS feed

  • 常规讨论

  • 首先要感谢Sheng Jiang和SplendourG帮忙解答了我前面提出的问题。在此,又要麻烦大家了:

    前提:
    我新增了一个单文档的MFC应用程序,然后在该项目中添加一个对话框资源(id:IDD_DIALOG),取名为“对话框”。继而在该对话框中添加一个按钮控件资源(id:IDC_BUTTON),取名为“小按钮”。
    操作:
    先给这个对话框资源添加一个名为CTestDialog的类,该类以CDialog为基类,再为该对话框资源添加一个CTestDialog类型的变量m_ctd;然后为对话框上那个名为“小按钮”的按钮控件添加一个名为CNewButton的类,该类以CBUTTON为基类,同样,为该按钮资源添加一个CNewButton类型的变量m_btn。
    让我疑惑的问题:
    查看TestDialog.h文件,发现变量m_ctd属于CTestDialog类的数据成员,TestDialog.h中定义如下:"CTestDialog m_ctd;",这个倒可以理解,但m_btn竟然也是CTestDialog类的数据成员,TestDialog.h中定义如下"CNewButton m_btn;",这个就弄不明白了,让我只犯晕,因为在我的理解中:为某个资源创建添加一个类,并且在该资源中添加一个该类的对象(对于资源而言,这个类对象为该资源的变量)后,该变量应该属于为这个资源添加的那个类呀,为什么按钮变量跑到了那个对话框所添加的类中呢,而不属于CNewButton类呢?
    如果该问题很弱智,望大家轻点拍,我是菜鸟一只
    谢谢大家
    • 已编辑 dbwizard 2009年7月29日 7:50 写掉字
    2009年7月29日 7:42

全部回复

  • 类是用来重用代码的,行为相同的话没有必要创建新的类。

    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年7月30日 1:55
    版主