创建基于窗体的 MFC 应用程序

窗体是一个对话框,其中包含允许用户访问和可能更改数据的控件。 你可能想要开发一个应用程序,在其中提供一系列窗体供用户选择。 通常,基于窗体的应用程序允许用户通过单击“文件”菜单中的“新建”来访问窗体。 基于对话框的应用程序(不向用户提供对“文件”菜单中的“新建”选项的访问权限)也被视为基于窗体的应用程序

基于单文档界面 (SDI) 窗体的应用程序一次只允许运行特定窗体的一个实例。 通过从“文件”菜单的“新建”选项中选择一个新窗体,可以从基于 SDI 窗体的应用程序同时运行不同的窗体

如果创建基于多文档界面 (MDI) 窗体的应用程序,则应用程序将能够支持同一窗体的多个实例。

如果创建具有多个顶级文档支持的应用程序,则桌面是文档的隐式父级,并且文档的框架不限于应用程序的工作区。 可以打开文档的多个实例,每个实例都有其自己的框架、菜单和任务栏图标。 还可以逐个关闭文档的后续实例,但是如果从初始实例的“文件”菜单中选择“编辑”选项,则应用程序将关闭所有实例

SDI、MDI 和多顶级文档应用程序都基于窗体,并使用文档/视图体系结构。

根据定义,任何基于对话框的应用程序都是基于窗体的。 基于对话框的应用程序不使用文档/视图体系结构,因此必须由你自己管理自己的附加窗体的创建和访问方法。

基于窗体的应用程序的基类为 CFormView。 如果应用程序具有数据库支持,则还可以选择派生自 CFormView 的任何类。 窗体是派生自 CFormView 或派生自从 CFormView 继承的任何类的任何窗口。

即使使用诸如 CView 之类的基类,也可以稍后通过添加派生自 CFormView 的 MFC 类来使应用程序基于窗体。

完成向导后,项目将会打开,如果选择 CFormView(或从 CFormView 继承的类)作为基类,或者如果创建基于对话框的应用程序,Visual C++ 将打开对话框编辑器。 此时,你已准备好设计第一个窗体。

开始创建基于窗体的 MFC 可执行文件

  1. 按照创建 MFC 应用程序中的说明创建基于窗体的 MFC 应用程序。

  2. 在 MFC 应用程序向导的应用程序类型页中,选中“文档/视图体系结构支持”复选框

  3. 选择“单个文档”、“多个文档”或“多个顶级文档”

    注意

    如果选择 SDI、MDI 或多顶级文档界面应用程序,则默认情况下,CView 会设置为向导的生成的类页中应用程序视图的基类。 要创建基于窗体的应用程序,必须选择 CFormView 作为应用程序视图的基类。 请注意,该向导不为基于窗体的应用程序提供打印支持。

  4. 在向导的其他页上设置所需的任何其他项目选项。

  5. 单击“完成”以生成主干项目

有关详细信息,请参阅:

另请参阅

MFC 应用程序向导
窗体视图
创建文件资源管理器样式的 MFC 应用程序
创建 Web 浏览器样式的 MFC 应用程序