windows应用(vc++2022)MFC基础到实战(2)

您所在的位置:网站首页 mfc的类 windows应用(vc++2022)MFC基础到实战(2)

windows应用(vc++2022)MFC基础到实战(2)

2023-03-13 16:29| 来源: 网络整理| 查看: 265

目录 向导和资源编辑器使用 MFC 应用程序向导创建 MFC 应用程序使用类视图管理类和 Windows 消息使用资源编辑器创建和编辑资源 生成 MFC 应用程序的操作1.创建一个主干应用程序。2.了解即使在不添加你自己的任何一行代码的情况下,框架和 MFC 应用程序向导也能提供的内容。3.构造应用程序的用户界面。4.将菜单映射到处理程序函数。5. 编写处理程序代码。6.将工具栏按钮映射到命令。7.测试处理程序函数。8.添加对话框。9. 初始化、验证和检索对话框数据。10.创建其他类。11.将可以立即使用的组件添加到应用程序。12.实现文档类。13.实现“打开”、“保存”和“另存为”命令。14.实现视图类。15. 增强默认打印。16.添加滚动。17. 创建窗体视图。18.创建数据库窗体。19.创建简单文本编辑器。10.增加拆分窗口 生成、测试和调试应用程序。1.创建 COM 组件。2.从头开始创建容器应用程序。3.从头开始创建支持自动化的应用程序。

向导和资源编辑器

Visual C++ 包含多个在 MFC 编程中使用的向导,以及许多集成资源编辑器。 对于 ActiveX 控件编程,ActiveX 控件向导的作用与 MFC 应用程序向导非常类似。 虽然可以在不使用其中大多数工具的情况下编写 MFC 应用程序,但这些工具可大大简化和加速工作。

使用 MFC 应用程序向导创建 MFC 应用程序

使用 MFC 应用程序向导可在 Visual C++ 中创建 MFC 项目,其中可以包含 OLE 和数据库支持。 项目中的文件包含应用程序、文档、视图和框架窗口类;标准资源,包括菜单和可选工具栏;其他必需的 Windows 文件;以及包含标准 Windows 帮助主题的可选 .rtf 文件,你可以修订和扩充这些主题以创建程序的帮助文件。

使用类视图管理类和 Windows 消息

类视图可帮助你为 Windows 消息和命令创建处理程序函数、创建和管理类、创建类成员变量、创建自动化方法和属性、创建数据库类等。

类视图还可帮助替代 MFC 类中的虚拟函数。 选择要替代的类和虚拟函数。 此过程的其余部分类似于消息处理,如以下段落中所述。

在 Windows 下运行的应用程序由消息驱动。 在正在运行的程序中发生的用户操作和其他事件会使 Windows 将消息发送到程序中的窗口。 例如,如果用户在窗口中单击鼠标,则 Windows 会在按鼠标左键时发送 WM_LBUTTONDOWN 消息,在释放按钮时发送 WM_LBUTTONUP 消息。 当用户从菜单栏中选择命令时,Windows 还会发送 WM_COMMAND 消息。

在 MFC 框架中,各种对象(如文档、视图、框架窗口、文档模板和应用程序对象)可以“处理”消息。 此类对象会提供“处理程序函数”作为其成员函数之一,框架会将传入消息映射到其处理程序。

编程任务的很大一部分是选择哪些消息要映射到哪些对象,然后实现该映射。 为此,可使用类视图和类向导。

类向导会创建空消息处理程序成员函数,你会使用源代码编辑器实现处理程序的主体。 你还可以使用类视图创建或编辑类(包括你自己的类,而不是派生自 MFC 类)及其成员。 在使用 MFC 框架配置应用程序时,你的角色是提供特定于应用程序的源代码,并通过定义组件响应的消息和命令来连接组件。 可以使用 C++ 语言和标准 C++ 技术从类库提供的类派生自己的特定于应用程序的类,并替代和扩充基类的行为。

使用资源编辑器创建和编辑资源

使用 Visual C++ 资源编辑器可创建和编辑菜单、对话框、自定义控件、快捷键、位图、图标、游标、字符串和版本资源。 从 Visual C++ 版本 4.0 起,工具栏编辑器使创建工具栏变得更加容易。

为了更好地帮助你,Microsoft 基础类库提供了一个名为 COMMON.RES 的文件,它包含你可从 COMMON.RES 复制并粘贴到自己的资源文件中的“剪贴画”资源。 COMMON.RES 包含工具栏按钮、常用游标、图标等。 可以在应用程序中使用、修改和重新分发这些资源。

MFC 应用程序向导、Visual C++ 向导、资源编辑器和 MFC 框架可为你完成大量工作,使管理代码更加容易。 大部分特定于应用程序的代码处于文档和视图类中。

生成 MFC 应用程序的操作 1.创建一个主干应用程序。

运行 MFC 应用程序向导。 在选项页中指定您需要的选项。 选项包括使应用程序成为 COM 组件、容器或两者;添加自动化;以及让应用程序可识别数据库。 MFC 应用程序向导为主干应用程序创建文件,包括应用程序的源文件、文档、视图和框架窗口;一个资源文件;一个项目文件;以及其他内容(全部根据您的规范定制)。

2.了解即使在不添加你自己的任何一行代码的情况下,框架和 MFC 应用程序向导也能提供的内容。

生成主干应用程序并在 Visual C++ 中运行它。 正在运行的主干应用程序从框架派生了许多标准“文件”、“编辑”、“视图”和“帮助”菜单命令。 对于 MDI 应用程序,您还将获得一个完整的功能性 Windows 菜单,而框架将管理 MDI 子窗口的创建、排列和析构。

3.构造应用程序的用户界面。

使用 Visual C++ 资源编辑器直观地编辑应用程序的用户界面:

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

你还可以在对话框编辑器中测试对话框。 MFC 应用程序向导创建的默认资源文件提供了很多您需要的资源。 利用 Visual C++,您可以轻松直观地编辑现有资源和添加新资源。

4.将菜单映射到处理程序函数。

使用“类视图”中“属性”窗口中的“事件”按钮(或类向导中的“命令”选项卡)将菜单和快捷键连接到代码中的处理程序函数。 这些工具将消息映射项和空函数模板插入你指定的源文件并管理许多手动编码任务。

5. 编写处理程序代码。

使用类视图直接跳转到在源代码编辑器中的代码。 为处理程序函数填写代码。 有关使用类视图的详细信息以及向项目添加代码的向导的详细信息,请参阅使用代码向导添加功能。 类视图打开编辑器,滚动到空函数模板并为您放置光标。

6.将工具栏按钮映射到命令。

通过为工具栏上的每个按钮分配相应的命令 ID 来将其映射到菜单或快捷键命令。 框架控制工具栏按钮的绘制、启用、禁用、检查和其他可视方面。

7.测试处理程序函数。

重新生成程序并使用内置调试工具来测试处理程序是否正常工作。 您可以逐步执行代码或跟踪代码以了解处理程序的调用情况。 如果已填写处理程序代码,处理程序将执行命令。 框架将自动禁用未处理的菜单项和工具栏按钮。

8.添加对话框。

使用对话框编辑器设计对话框模板资源。 然后创建对话框类和处理对话框的代码。 框架管理对话框并帮助检索用户输入的信息。

9. 初始化、验证和检索对话框数据。

您还可以定义初始化和验证对话框的控件的方式。 使用 Visual Studio 将成员变量添加到对话框类,并将这些变量映射到对话框控件。 指定要在用户输入数据时应用于每个控件的验证规则。 根据需要提供您自己的自定义验证。 框架管理对话框初始化和验证。 如果用户输入无效的信息,框架将显示消息框并让用户重新输入数据。

10.创建其他类。

除 MFC 应用程序向导自动创建的参数之外,使用类视图创建附加文档、视图和框架窗口类。 您可以创建其他数据库记录集类、对话框类等。 (利用类视图,您可以创建并非派生自 MFC 类的类。) 类视图这些类添加到您的源文件并帮助您定义它们与所处理的任何命令的关联。

11.将可以立即使用的组件添加到应用程序。

使用 New Item dialog box 添加各种项。 这些项可轻松集成到应用程序中,从而显著减少了您的工作量。

12.实现文档类。

实现特定于应用程序的文档类。 添加成员变量以保留数据结构。 添加成员函数以提供数据的接口。 框架已经知道如何与文档数据文件交互。 它可以打开和关闭文档文件、读取和写入文档的数据以及处理其他用户界面。 您可以重点关注如何操作文档的数据。

13.实现“打开”、“保存”和“另存为”命令。

为文档的 Serialize 成员函数编写代码。 框架显示“文件”菜单上的“打开”“保存”和“另存为”命令的对话框。 该对话框使用 Serialize 成员函数中指定的数据格式写回和读回文档。

14.实现视图类。

实现与文档对应的一个或多个视图类。 使用类视图实现您映射到用户界面的视图的成员函数。 有各种 CView 派生类可用,包括 CListView 和 CTreeView。 框架管理文档及其视图之间的大多数关系。 该视图的成员函数访问视图的文档,以便在屏幕或打印页上呈现其图像和更新文档的数据结构以响应用户编辑命令。

15. 增强默认打印。

如果需要支持多页打印,请重写视图成员函数。 框架支持“文件”菜单上的“打印”“页面设置”和“打印预览”命令。 您必须告诉它如何将文档分为多个页。

16.添加滚动。

如果需要支持滚动,请从 CScrollView 派生你的视图类。 当视图窗口变得过小时,视图将自动添加滚动条。

17. 创建窗体视图。

如果要让你的视图基于对话框模板资源,请从 CFormView 派生你的视图类。 该视图使用对话框模板资源来显示控件。 用户可以使用 Tab 键切换视图中的控件。

18.创建数据库窗体。

如果需要基于窗体的数据访问应用程序,请从 CRecordView 派生你的视图类(对于 ODBC 编程)。 该视图像窗体视图一样工作,但其控件连接到表示数据库表的 CRecordset 对象的字段。 MFC 将为您在控件和记录集之间移动数据。

19.创建简单文本编辑器。

如果要让你的视图成为简单的文本编辑器,请从 CEditView 或 CRichEditView 派生你的视图类。 该视图提供了编辑函数、剪贴板支持和文件输入/输出。 CRichEditView 提供了带样式的文本。

10.增加拆分窗口

如果要支持窗口拆分,请将 CSplitterWnd 对象添加到 SDI 框架窗口或 MDI 子窗口,并将其挂钩到窗口的 OnCreateClient 成员函数中。 框架在滚动条旁边提供拆分框控件并管理将您的视图拆分为多个窗格。 如果用户拆分了一个窗口,框架将创建视图对象并将其附加到文档。

生成、测试和调试应用程序。

使用 Visual C++ 的工具生成、测试和调试应用程序。 Visual C++ 可让您调整编译、链接和其他选项。 它还可让你浏览源代码和类结构。

1.创建 COM 组件。

运行 MFC 应用程序向导。 在“复合文档支持”选项卡中选择“全服务器”或“微型服务器”。 框架生成启用了 COM 组件功能的框架应用程序。 所有 COM 功能都可以传输到现有应用程序,只需稍作修改。

2.从头开始创建容器应用程序。

运行 MFC 应用程序向导。 在“复合文档支持”选项卡中选择“容器”。使用类视图,转到源代码编辑器。 为 COM 处理程序函数填写代码。 框架生成一个框架应用程序,该应用程序可以插入 COM 组件(服务器)应用程序创建的 COM 对象。

3.从头开始创建支持自动化的应用程序。

运行 MFC 应用程序向导。 从“高级功能”选项卡中选择“自动化”。使用类视图在应用程序中公开用于自动化的方法和属性。 框架生成可由其他应用程序激活和自动化的框架应用程序。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3