用于生成 MFC 应用程序的作序列

下表说明了开发 MFC 应用程序时通常可能遵循的常规序列。

使用框架生成应用程序的序列

任务 是吗 框架执行作
创建主干应用程序。 运行 MFC 应用程序向导。 在选项页中指定所需的选项。 选项包括使应用程序成为 COM 组件、容器或两者;添加自动化;使应用程序数据库感知。 MFC 应用程序向导为主干应用程序创建文件,包括应用程序的源文件、文档、视图和框架窗口;资源文件;项目文件;和其他人,都是根据你的规格定制的。
查看框架和 MFC 应用程序向导提供的内容,而无需添加自己的代码行。 生成主干应用程序并在 Visual C++中运行它。 正在运行的框架应用程序从框架派生了许多标准 文件编辑查看帮助 菜单命令。 对于 MDI 应用程序,你还将获得一个功能齐全的 Windows 菜单,框架管理 MDI 子窗口的创建、排列和销毁。
构造应用程序的用户界面。 使用 Visual C++ 资源编辑器 直观地编辑应用程序的用户界面:

- 创建菜单。
- 定义加速器。
- 创建对话框。
- 创建和编辑位图、图标和光标。
- 编辑 MFC 应用程序向导为你创建的工具栏。
- 创建和编辑其他资源。

还可以在对话框编辑器中测试对话框。
MFC 应用程序向导创建的默认资源文件提供了许多所需的资源。 Visual C++使你可以编辑现有资源并轻松直观地添加新资源。
将菜单映射到处理程序函数。 使用类视图的“属性”窗口中的“事件”按钮(或类向导中的“命令”选项卡)将菜单和加速器连接到代码中的处理程序函数。 这些工具将消息映射条目和空函数模板插入到指定的源文件中,并管理许多手动编码任务。
编写处理程序代码。 使用类视图直接跳转到源代码编辑器中的代码。 填写处理程序函数的代码。 有关使用类视图以及向项目添加代码的向导的详细信息,请参阅 使用代码向导添加功能 类视图将打开编辑器,滚动到空函数模板,并定位光标。
将工具栏按钮映射到命令。 通过将按钮分配给相应的命令 ID,将工具栏上的每个按钮映射到菜单或加速器命令。 框架控制工具栏按钮的绘图、启用、禁用、检查和其他视觉方面。
测试处理程序函数。 重新生成程序并使用内置调试工具测试处理程序正常工作。 可以单步执行或跟踪代码以查看处理程序的调用方式。 如果已填写处理程序代码,处理程序将执行命令。 框架将自动禁用未处理的菜单项和工具栏按钮。
添加 对话框 使用对话框编辑器设计对话模板资源。 然后创建一个对话框类和处理对话框的代码。 框架管理对话框,并有助于检索用户输入的信息。
初始化、验证和检索对话框数据。 还可以定义如何初始化和验证对话框的控件。 使用 Visual Studio 将成员变量添加到对话框类,并将其映射到对话控件。 指定要在用户输入数据时应用于每个控件的验证规则。 如果需要,请提供自己的自定义验证。 框架管理对话框初始化和验证。 如果用户输入无效信息,框架将显示一个消息框,并允许用户重新输入数据。
创建其他类。 使用类视图创建其他文档、视图和框架窗口类,这些类超出了 MFC 应用程序向导自动创建的类。 可以创建其他数据库记录集类、对话框类等。 (使用类视图,可以创建不派生自 MFC 类的类。 类视图将这些类添加到源文件,并帮助你定义它们与它们处理的任何命令的连接。
将现成的组件添加到应用程序。 使用 New Item dialog box 添加各种项目。 这些项目易于集成到应用程序中,并节省大量工作。
实现文档类。 实现特定于应用程序的文档类或类。 添加成员变量以保存数据结构。 添加成员函数以提供数据的接口。 框架已经知道如何与文档数据文件进行交互。 它可以打开和关闭文档文件、读取和写入文档的数据,以及处理其他用户界面。 你可以专注于如何作文档的数据。
实现“打开”、“保存”和“另存为”命令。 为文档 Serialize 的成员函数编写代码。 框架在“文件”菜单上显示“打开”、“保存”和“另存为”命令的对话框。 它使用成员函数中指定的 Serialize 数据格式写入和读取文档。
实现视图类。 实现与文档对应的一个或多个视图类。 使用类视图实现映射到用户界面的视图的成员函数。 提供了各种 CView 派生类,包括 CListViewCTreeView 框架管理文档与其视图之间的大部分关系。 视图的成员函数访问视图的文档,以在屏幕上或打印页面上呈现其图像,并更新文档的数据结构以响应用户编辑命令。
增强默认打印。 如果需要支持多页打印,请重写视图成员函数。 框架支持“文件”菜单上的“打印”、“页面设置”和“打印预览”命令。 必须告诉它如何将文档分解为多个页面。
添加滚动。 如果需要支持滚动,请从 CScrollView 派生视图类或类。 当视图窗口变小时,视图会自动添加滚动条。
创建窗体视图。 如果要基于对话模板资源来基于视图,请从 CFormView 派生视图类或类。 视图使用对话框模板资源来显示控件。 用户可以从控件进行选项卡以在视图中进行控制。
创建数据库窗体。 如果需要基于表单的数据访问应用程序,请从 CRecordView (用于 ODBC 编程)派生视图类。 视图的工作方式类似于窗体视图,但其控件连接到表示数据库表的 CRecordset 对象的字段。 MFC 在控件和记录集之间移动数据。
创建简单的文本编辑器。 如果希望视图是简单的文本编辑器,请从 CEditViewCRichEditView 派生视图类或类。 该视图提供编辑函数、剪贴板支持和文件输入/输出。 CRichEditView 提供带样式的文本。
添加拆分器窗口。 如果要支持窗口拆分,请将 CSplitterWnd 对象添加到 SDI 框架窗口或 MDI 子窗口,并将其挂接到窗口的 OnCreateClient 成员函数中。 框架提供滚动条旁边的拆分框控件,并管理将视图拆分为多个窗格。 如果用户拆分窗口,框架将创建其他视图对象并将其附加到文档。
生成、测试和调试应用程序。 使用 Visual C++的设施来生成、测试和调试应用程序。 Visual C++允许你调整编译、链接和其他选项。 它还允许浏览源代码和类结构。

另请参阅

用于创建 OLE 应用程序的作序列
用于创建 ActiveX 控件的作序列
用于创建数据库应用程序的作序列
在框架上构建