下表说明了开发 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 派生类,包括 CListView 和 CTreeView。 | 框架管理文档与其视图之间的大部分关系。 视图的成员函数访问视图的文档,以在屏幕上或打印页面上呈现其图像,并更新文档的数据结构以响应用户编辑命令。 |
增强默认打印。 | 如果需要支持多页打印,请重写视图成员函数。 | 框架支持“文件”菜单上的“打印”、“页面设置”和“打印预览”命令。 必须告诉它如何将文档分解为多个页面。 |
添加滚动。 | 如果需要支持滚动,请从 CScrollView 派生视图类或类。 | 当视图窗口变小时,视图会自动添加滚动条。 |
创建窗体视图。 | 如果要基于对话模板资源来基于视图,请从 CFormView 派生视图类或类。 | 视图使用对话框模板资源来显示控件。 用户可以从控件进行选项卡以在视图中进行控制。 |
创建数据库窗体。 | 如果需要基于表单的数据访问应用程序,请从 CRecordView (用于 ODBC 编程)派生视图类。 | 视图的工作方式类似于窗体视图,但其控件连接到表示数据库表的 CRecordset 对象的字段。 MFC 在控件和记录集之间移动数据。 |
创建简单的文本编辑器。 | 如果希望视图是简单的文本编辑器,请从 CEditView 或 CRichEditView 派生视图类或类。 | 该视图提供编辑函数、剪贴板支持和文件输入/输出。
CRichEditView 提供带样式的文本。 |
添加拆分器窗口。 | 如果要支持窗口拆分,请将 CSplitterWnd 对象添加到 SDI 框架窗口或 MDI 子窗口,并将其挂接到窗口的 OnCreateClient 成员函数中。 | 框架提供滚动条旁边的拆分框控件,并管理将视图拆分为多个窗格。 如果用户拆分窗口,框架将创建其他视图对象并将其附加到文档。 |
生成、测试和调试应用程序。 | 使用 Visual C++的设施来生成、测试和调试应用程序。 | Visual C++允许你调整编译、链接和其他选项。 它还允许浏览源代码和类结构。 |
另请参阅
用于创建 OLE 应用程序的作序列
用于创建 ActiveX 控件的作序列
用于创建数据库应用程序的作序列
在框架上构建