您可以创建 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创建对话框。窗体
使用选件类 CFormView、CRecordView或 CDaoRecordView,从而基于对话框模板资源的视图 ,例如,对话框,创建。控件
控件 ,例如,按钮、列表框,并且,组合框创建使用从 CWnd派生的其他选件类。 参见控件主题。控件条
包含控件的子窗口。 示例包括工具栏和状态栏。 参见控制条。
窗口类层次结构
请参见" MFC 参考"中 的MFC 层次结构图 。 视图在 文档/视图结构中被解释。 对话框在 对话框中被解释。
创建您的专用窗口选件类
除了选件类库提供的 windows 选件类之外,您可能需要私有子窗口。 若要创建此类窗口,请创建您的 CWnd派生类并使其成为子窗口框架或试图。 记住框架管理文档框架窗口的客户端区域的区域。 大多数客户端区域由视图管理,但是,其他窗口,例如控件条或您的自定义窗口,可以使用视图共享空间。 您在框架窗口的客户端区域可能需要在选件类 CView 和 CControlBar 的结构交互确定的子窗口。
这些托管创建窗口 讨论 windows 对象的创建和窗口。