VC中如何派生CWnd的子类?

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

在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类也可以如法炮制:)

CWnd, mfc class, vc, 派生

你可能感兴趣的:(C++,c,C#,mfc,vc++)