怎么把AppWizard生成的视图类的基类改为自己写的类?比如改为CRowView
好象自动生成的时候没有选择CRowView啊。或者生成以后怎么改才能把视图类的基类该为自己写的类啊? 请高手指点!

解决方案 »

  1.   

    直接把生成后的继承的基类改为CRowView,把CRowView的头文件包含进来就行啦,不过你的CRowView也应该是由CView派生而来的.
      

  2.   

    我按照你说的做了,可是还是不行啊:(CRowView 是由CScrollView类派生的!怎么办?
      

  3.   

    IMPLEMENT_DYNCREATE(CCBAView, CScrollView)BEGIN_MESSAGE_MAP(CCBAView, CScrollView) //{{AFX_MSG_MAP(CCBAView)
    // NOTE - the ClassWizard will add and remove mapping macros here.
    //    DO NOT EDIT what you see in these blocks of generated code!
    //}}AFX_MSG_MAP
    // Standard printing commands
    ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
    ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
    ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
    END_MESSAGE_MAP()我把上面的代码删除了,以前基类是CScrollView
    可是还有错误,说是 error C2011: 'CRowView' : 'class' type redefinition
    class CRowView : public CScrollView 是这样定义的
    怎么办?
      

  4.   

    在<yourview>.h和<yourview>.cpp中搜索cscrollview,将所有的cscrollview替换成(你自己的)(从cview派生的)类.
      

  5.   

    楼上的我试过了,不行!
    我的CRowView 是从CScrollView 继承的啊!
      

  6.   

    CScrollView有个特别的虚函数,用于决定滚动视的大小,是不是那里出了问题?