`

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

相关推荐

    vc 子类化重绘界面代码

    在MFC中,子类化可以通过继承CWnd类或其派生类实现,然后通过覆盖OnPaint()函数来执行自定义的绘图操作。同时,也可以使用OnEraseBkgnd()函数来处理背景的清除,确保重绘时的性能。 ATL则更加轻量级,适用于构建COM...

    vc子类化的例子源代码

    标题"vc子类化的例子源代码"指的是使用Visual C++进行子类化的实际示例。这个例子可能包含了一个或多个C++类,这些类继承自MFC(Microsoft Foundation Classes)库中的控件类,如CButton、CEdit、CWnd等,以便自定义...

    vc++6.0 MFC 窗口子类化

    在MFC中,我们可以使用`CWnd::SubclassDlgItem`或`CWnd::SubclassWindow`方法来实现窗口子类化。 对于多文档界面(MDI)应用程序,每个文档通常都有自己的视图(View)类,这些视图类继承自`CView`。在MDI程序中,...

    vc中dc的概念

    CWnd 是一个窗口类,几乎所有的可视化组件都是从它派生出来的。CDocument 是一个文档类,负责内存数据与磁盘的交互。CView 是一个视图类,负责内存数据与用户的交互。 DC 是一个非常重要的概念,在 VC 中广泛应用于...

    读取串口数据并画实时曲线.zip_VC 串口_VC 曲线绘制_vc 实时曲线_串口通信_读取串口数据

    在VC6.0中,可以使用MFC(Microsoft Foundation Classes)库中的CWnd类及其派生类来创建自定义的绘图窗口。我们可以继承CWnd类,重写`OnPaint`函数,在这里使用CDC类的绘图函数(如`MoveTo`、`LineTo`等)绘制曲线。...

    vc 窗口分割实例

    2. **窗口分割**: 窗口分割通常通过使用CWnd或CView的子类来实现,这些子类负责处理分割的逻辑。在MFC(Microsoft Foundation Classes)库中,可以使用CSplitterWnd类来创建和管理窗口分割。CSplitterWnd允许开发者...

    MFC VC6.0 简单贪吃蛇

    CWnd类是所有窗口类的基类,通过派生CWnd或其子类,可以创建各种窗口控件。CDialog类用于创建对话框,而CButton、CEdit等类则分别对应不同的UI元素。 2. **C++编程**:游戏逻辑主要由C++代码实现,包括定义蛇、食物...

    用VC做的指针钟表源代码

    在VC中,我们可以利用CWnd类及其派生类来创建窗口,并通过OnPaint消息处理函数进行窗口的绘制。在这个程序中,我们将创建一个CView类的子类,用于绘制钟表界面。钟表的指针由三部分组成:时针、分针和秒针,它们的...

    vc中创建向导对话框

    在CMySheet的头文件中,包含每个CPropertyPage子类的头文件,并在类声明中添加私有成员变量,如: ```cpp private: CMyPage1 page1; CMyPage2 page2; CMyPage3 page3; ``` 七、显示向导对话框 在主程序的源文件中...

    VC做的钟,显示时间

    1. **CWnd类**:这是MFC中的基础窗口类,几乎所有的窗口类都是从CWnd派生的。在我们的钟程序中,我们将创建一个CWnd的子类,用于定义显示时间的窗口。 2. **CDateTimeCtrl类**:这个类代表Windows的日期和时间控件...

    VC6单文档窗口分割最全资料与源代码

    在VC6中,我们可以使用MFC(Microsoft Foundation Classes)库来实现这一功能,特别是通过CWnd类及其派生类来管理窗口。 1. **MFC和CWnd类**:MFC是微软提供的一个C++类库,它封装了Windows API,简化了Windows应用...

    vc基本例子 画圆示例

    在VC++编程环境中,"vc基本例子 画圆示例"是一个典型的图形用户界面(GUI)应用程序的实践,它教导新手如何使用MFC(Microsoft Foundation Classes)库来实现基本的绘图功能,比如画圆。MFC是微软为Windows平台开发的...

    VC实现的DataGrid(非常漂亮)

    DataGrid控件通常会派生自CWnd或其子类。 - **数据绑定**:将控件与数据源关联,使得控件可以自动显示和更新数据。在MFC中,可以使用CRecordset类与数据库连接进行数据绑定。 - **消息映射**:定义控件如何响应...

    基于VC 6.0 MFC,开发的类似QQ截图程序源码,工程可以运行

    在本文中,我们将深入探讨如何使用Microsoft Visual C++ 6.0(简称VC 6.0)中的MFC(Microsoft Foundation Classes)库来开发一个类似于QQ截图程序的应用。MFC是微软提供的一套C++类库,它为Windows应用程序开发提供...

    VC 通用控件类的扩展

    MFC库中,每个控件都对应一个C++类,例如CButton、CEdit、CListBox等,这些类都是从CWnd类派生而来的。CWnd类是所有窗口对象的基础,包含了基本的窗口操作和消息处理。通过进一步派生这些类,我们可以添加新的成员...

    VC 在对话框中使用TAB属性表.rar

    在本资源“VC 在对话框中使用TAB属性表.rar”中,包含了实现这一功能的源代码示例,这将有助于开发者学习如何在Win32应用程序中创建类似WEB和winForm程序中的标签页效果。 首先,我们来了解什么是TAB属性表。属性表...

    VC之于少林72绝技,vc篇

    在IT行业中,Visual C++(简称VC)是一个强大的集成开发环境,它集成了多种技术,正如少林寺的72种绝技,每一种都有其独特之处,但在实际应用中,我们通常只需要掌握其中的核心技能。本文将探讨VC的关键组成部分以及...

    VC 6.0 中文版类库参考手册(上)

    通过派生CWnd或其子类,可以创建自定义的窗口控件。 4. 对话框编程:MFC提供了CDialog类来处理对话框,对话框通常用于用户交互。CDialog支持对话框资源的加载,以及消息映射和控件处理。 5. 控件:MFC包含了各种...

    VC的MFC做的一个画图板程序

    在画图板程序中,可能包含一个或多个`CWnd`的子类,例如主窗口和绘图区窗口。 3. **CDialog**: 用于创建对话框,画图板程序中可能包含设置选项或颜色选择的对话框,这些对话框会基于`CDialog`类进行扩展。 4. **...

    VC2008使用CTabSheet类实现窗口tab例子

    `CTabSheet` 类继承自`CWnd`,并且通常被用作`CPropertySheet` 类的子类,`CPropertySheet` 用于构建一个包含多个选项卡的对话框。 在描述的项目中,"dlgTab.sln" 和 "dlgTab.suo" 文件是Visual Studio的解决方案...

Global site tag (gtag.js) - Google Analytics