派生的窗口类

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

框架窗口类

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

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

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

    有关更多信息,请参见Frame Windows

从 CWnd 派生的其他窗口选件类

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

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

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

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

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

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

窗口类层次结构

请参见" MFC 参考"中 MFC 层次结构图 。 视图在 文档/视图结构中被解释。 对话框在 对话框中被解释。

创建您的专用窗口选件类

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

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

请参见

概念

窗口对象