MFC中创建或派生基于CWnd的类

时间:2022-09-07 23:18:22

    之前写的文字有些简单,这里我再把问题讲的详细一点:

 

    在VC++环境下,要从MFC类中再派生出自己的类,可以使用ClassWizard向导来帮助完成。比如我们可以派生出CTreeCtrl的一个子类,来实现自己的树型控件。但是并不是MFC的每一个类都可以在ClassWizard中找到,比如CSplitterWnd类。要实现从这样一个类再派生出自己的类,可以按照C++的语法规则手动书写代码,但是这样的话就不能方便地使用ClassWizard来添加类的消息相应和虚函数覆盖等内容。所以这里介绍另外一个方法:在NewClass对话框的ClassType中选择MFC Class,在Base Class中选择generic CWnd,进行派生,然后再手动将新加类的基类改为你需要的CWnd的子类,比如:
    首先这样派生:class CUsefulSplitterWnd : public CWnd
    然后手动修改为:class CUsefulSplitterWnd : public CSplitterWnd


    当然,手动修改的地方可能不止一处。其他的MFC类也可以如法炮制:)

 

本文出处:http://aip.javaeye.com/blog/98952感谢AIP的分享