`

VC中如何派生CWnd的子类?

    博客分类:
  • 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, 派生
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics