我想添加一个类CMsg
用于实现信息串行化的发送功能。
我是用MFCAppWizard来创建的程序
现在我的问题是,CMsg的基类是CObject类
而我在inserd->new class 里面找不到基类CObject
请问各位大哥们,怎么来解决呢,是不是要自己手工添加
怎么添加呢?

解决方案 »

  1.   

    在添加新类的界面上,第一个选择中改为generic class,然后在下面的派生中就可以自己写CObject.
      

  2.   

    在class type下拉框中选择"General class",然后后面的Base Class中,自己敲入CObject就行了。手工添加也很简单,用新建菜单建立一个h文件,然后写上你的代码就可以。
      

  3.   

    我试过那样做,可是好象不行啊
    呵呵,我是看着例题写的程序
    那样生成的代码跟例题的不一样
    下面是例题代码:
    // msg.h : interface of the CMsg classclass CMsg : public CObject
    {
    protected:
    DECLARE_DYNCREATE(CMsg)
    public:
    CMsg();// Attributes
    public:
    CString m_strText;
    BOOL m_bClose;
    CStringList m_msgList;// Operations
    public:
    void Init();// Implementation
    public:
    virtual ~CMsg();
    virtual void Serialize(CArchive& ar);   // overridden for document i/o
    #ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
    #endif
    };
    我按你的方法得出的是不一样的代码
      

  4.   

    前面的代码手工写出来我知道写
    但是这几行我就不会了
    难道每个自己手工填写的都要这几行吗
    #ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
    #endif
      

  5.   

    还有呵呵,这一行是怎么添出来的呢
    virtual void Serialize(CArchive& ar); 
    手工添加?直接写上去吗,classWizard里找不到自己添加的CMsg类
      

  6.   

    添上去的那几行是用于调试的宏命令,在release里面是没有的。刚学的时候可以不管它。Serialize()是支持序列化的,也就是解决存储的问题,这个你可以请教有耐心解答的网友(方正不是我)
      

  7.   

    可以自己写上去呀,语句不多也不复杂,你的CMsg类你可以用UEdit打开工程目录下的*.clw看看就明白,如何让它出现了。