我新建一个类A,A派生于一个MFC类,怎么在能在MFC ClassWizard有A这个类呢,这样就可以方便的使用一些消息很方便
不知道怎么办

解决方案 »

  1.   

    这是由于classwizard的BUG造成的。
    有一个办法:
    到你的工作目录,找到.clw这个后缀的文件,删之。
    然后打开classWizard,VC会提示你,clw文件丢失,是否重新生成。
    选择“是”,然后先清空,再把所有的文件全加到里面,就OK了。楼主可以试试。
      

  2.   

    我的问题写错了
    而是我的新建的类B派生于A,A派生于一个MFC的类,怎么样才可以使用MFC ClassWizard管理这个类B,意思是说我新建的这个类的基类在MFC ClassWizard的那个下列列表里没有
      

  3.   

    fireinsky(持之以恒)已经说的很清楚了!
      

  4.   

    楼主可能没有明白我的意思,我再把问题给说清楚
    我用New Class新建一个类,但是基类是间接从MFC类派生的,在Class Type选择MFC Class ,但是Base Class里没有这个类的基类(这个类的基类是MFC间接派生的),于是我在Class Type 选择Generic Class,在Base Class里直接填入新建类的基类,但是这样生产的类在MFC ClassWizard里的Class Name里没有,这样使用类里面的消息、虚函数等基类的东西就很麻烦,要是只有一两个消息、虚函数还好,可以自己手动添加,但是比较多的话就很麻烦了,
    很不好管理这个类,但是我在使用BCGControlBar时,向导自动生成的BCGControlBar类在MFC ClassWizard里就有,它的类也时从MFC类里间接派生的,在MFC ClassWizard里有,使用起来就像直接从MFC类派生的,很方便,但是我从从MFC类里间接派生的,在在MFC ClassWizard里就没有,很麻烦,如果对这个类基类不是特别的了解的就更麻烦了,不知道什么去手工添加,如果在在MFC ClassWizard里有的话,就从列表框了去找,从检验上可以很容易找到自己想要的消息或虚函数。请问这怎么办
      

  5.   

    “这是由于classwizard的BUG造成的。
    有一个办法:
    到你的工作目录,找到.clw这个后缀的文件,删之。
    然后打开classWizard,VC会提示你,clw文件丢失,是否重新生成。
    选择“是”,然后先清空,再把所有的文件全加到里面,就OK了。楼主可以试试。”说的很简炼,当然要先把你的VC关掉,删除.clw文件。每次我把Dsw也删掉了。
    然后从新打开,VC提示你要从新整理你的类列表的。
    .Clw文件,你有兴趣可以用记事本打看看里边的东西。
      

  6.   

    关闭工程
    删除工程下.clw .ncb文件
    打开工程
      

  7.   

    自己的类,类向导无法管理, 虽然,你可以通过手工编缉.clw文件来将它包含到类向导内,但没什么实际意义,它不能通过类向导来完成添加成员函数,重载虚函数,响应消息等
      

  8.   

    但是这类的基类也是派生于MFC类,又不完全是自己写的类,我用BCGControlBar的一个MFC扩展类库,向导生成的BCGControlBar类,类向导可以管理,但是我又从BCGControlBar的类里再派生类向导又不可以管理这个类了,不知道怎么回事
      

  9.   

    就是这样的,只有直接从MFC类派生的才行,不然的话,你得自己 加一些 象//{{AFX_...之类 的注释,然后删除 .clw文件, 再让VC重建,这样是可以,不过并不是很好,比如你自己定义的虚函数也不会饱含在它的列表里
      

  10.   

    class wizard并不支持所有的MFC类,更加不用说你自己的类了。
      

  11.   

    这是由于classwizard的BUG造成的。
    有一个办法:
    到你的工作目录,找到.clw这个后缀的文件,删之。
    然后打开classWizard,VC会提示你,clw文件丢失,是否重新生成。
    选择“是”,然后先清空,再把所有的文件全加到里面,就OK了。楼主可以试试====================
    同意,再删除.ncb文件。
      

  12.   

    靠!
    自己的类CLASS WIZARD里当然没有。
    没有CLASS WIZARD你就死翘翘了吗?
    自己手工加啊!
      

  13.   

    你可以直接将这个类从MFC的类继承,
    然后手工更改其基类,
    这样应该是没问题的,
    我这样做过对话框,
    你试试应该行的通.