派生的窗口选件类

您可以创建 windows 直接从 CWnd,或者从 CWnd派生新窗口类。 这是如何通常创建自己的自定义窗口。 但是,用于帧计划的大多数 windows 从一个 CWnd- MFC 提供的派生框架窗口类中创建。

框架窗口类

  • CFrameWnd
    用于 SDI 帧单个文档框架窗口及其视图。 框架窗口是应用程序的主框架窗口,并且框架窗口当前文件。

  • CMDIFrameWnd
    用作主框架窗口在 MDI 应用程序。 主框架窗口是所有 MDI 的容器文档窗口和共享其与它们的菜单栏。 MDI 框架窗口是在桌面上的顶级窗口。

  • CMDIChildWnd
    用于单个在 MDI 主框架窗口文档打开。 每个文档,并且其视图由 MDI 主框架窗口中包含的 MDI 子框架窗口配置。 这与典型的框架窗口的 MDI 子窗口查找,但包含在 MDI 框架窗口中而不是桌面。 但是, MDI 子窗口没有自己的菜单栏并且必须共享包含它的 MDI 框架窗口的菜单栏。

    有关更多信息,请参见 框架窗口

从 CWnd 派生的其他窗口类

除了框架窗口外,窗口还有其他一些主要类别 CWnd从派生:

  • 视图
    视图创建使用 CWnd派生类及其派生类 CView (或)。 视图附加到文档并为文档和用户之间的中间方。 视图是窗口的子窗口 (不是 MDI 子窗体)。通常加载 SDI 框架窗口的工作区或 MDI 子框架窗口 (或工具栏和状态栏中未包含的客户端区域的该部分)。

  • 对话框
    使用 CWnd派生类 CDialog,对话框创建。

  • Forms
    使用类 CFormViewCRecordViewCDaoRecordView,从而基于对话框模板资源的视图 (例如,对话框,创建。

  • 控件
    控件 (例如,按钮、列表框,并且,组合框创建使用从 CWnd派生的其他类。 控件主题参见。

  • 控制条
    包含控件的子窗口。 示例包括工具栏和状态栏。 控制条参见。

窗口类层次结构

请参见 MFC 引用 中的 MFC 层次结构图。 视图中 文档/视图结构解释。 在对话框 对话框解释。

创建您的专用窗口类

除类库提供的窗口类以外,您可能需要私有子窗口。 若要创建此类窗口,请创建您的 CWnd派生类并使其成为子窗口框架或查看。 记住框架管理文档框架窗口的工作区的区域。 大部分客户端区域由视图管理,但是,其他窗口,例如控件条或您的自定义窗口,可以使用视图共享空间。 您在框架窗口的工作区可能需要在类 CViewCControlBar 的结构交互确定的子窗口。

这些托管创建窗口 讨论 windows 对象的创建和窗口。

请参见

概念

window对象