目录
- 核心技术
- 需求分析
- 程序设计
- 程序展示
(一)核心技术
MFC(Micosoft Foundation Class Libay,微基础类库)是微基于Windows平台下的C++类库集合,MFC包含了所有与系统相关的类,其中封装了大多数的API(Application Pogam Inteface)方法,提供了应用程序设计的框架以及开发应用程序所需要使用的工具,应用程序向导、类向导、可视化资源设计等高效工具,使用消息映射处理进行对消息的响应,极大的简化了Windows中应用程序的开发工作,使程序员可以从繁重的编辑工作中抽身出来,提高了程序员的工作效率。
1、MFC与Windows编程
Windows操作系统采用了图形用户界面,借助它提供的API方法,用户可以编出具有图形用户界面的程序。Windows操作系统下的应用程序和控制台方式(MS-DOS)下的应用程序相比,具有下特点:
(1)用户界面统一、友好。Windows应用程序拥有相似的基本外观,包括窗口、菜单栏、工具、状态栏、滚动条等标准元素。
(2)独立于设备的图形操作。Windows下的应用程序使用图形设备接口(Gaphic D evice Inteface),该接口屏蔽了不同的设备之间的差异,提供了与设备无关的图形输出能力。
(3)支持多事务处理机制。Windows是一个多事务的操作环境,允许用户在同一时间运行多个独立的应用程序。
(4)事件驱动程序的程序设计。Windows程序不是由事件的顺序来控制,而是由事件的发生与否来控制程序执行逻辑。而事件与消息之间的关系是关联的,Windows应用程序的消息来源主要有以下4种:
输入消息:包括键盘和鼠标的输入。
控制消息:用来与Windows的控制对象,如列表框、按钮、复选框等进行双向通信。
系统消息:对程序化的事件或系统时钟中断做出反应。
用户消息:这是程序员自己定义并在应用程序中主动发出的。
在VC++中编写Windows应用程序有以下两种方法。
(1)直接使用了Windows操作系统中所提供的Windows API方法来对Windows应用程序进行编写。通过Windows API创建的Windows应用程序包含了两个基本部分:应用程序主方法WinMain和窗口方法。WinMain方法是应用程序的入口点,相当于C++控制台应用程序的主方法main。与main方法一样,WinMain方法名也是固定的。窗口方法的名字是用户自定义的,由系统调用,主要功能是用来处理窗口的消息,以此来完成某些特定的任务。使用Windows API编写Windows应用程序时,大量的繁杂琐碎的程序代码必须由程序员自己亲自动手编写,工作量十分大。
(2)使用MFC类库编写Windows应用程序。MFC提供了大量预先编写好的类及支持代 码,用于处理多项标准的Windows编程任务,如窗口的创建、消息的处理、工具栏的添加和对话框等。因此,使用MFC类库可以简化Windows应用程序的开发工作量。
2.MFC应用程序框架
MFC封装了大部分Windows API方法、数据结构和宏,以面向对象的类提供给程序员,并提供了一个应用程序框架,简化和标准化了Windows程序设计。
MFC中的各种类加起来有几百个,其中只有5个核心类对应用程序框架有影响:CWinApp、CDocument、CView、CFrameWnd和 CDocTemplate。这5个类之中只有CWinApp是必不可少的类,CWinApp的对象在应用程序中必须有一个,也只有一个,并且是一个全局对象。全局对象是在Windows操作系统调用WinMain之前建立的,它开通了程序执行的路径。在MFC编程中,入口方法WinMain被封装在MFC的应用程序框架内,称为AfxWinMain,不需要也不可以再定义另一个WinMain方法。
应用程序框架(Application Framework)是一组类构造起来的大模型。它的出现使得开发人员不需要构建程序框架结构,其初始代码可以由应用程序向导自动完成。
3.MFC应用程序向导
MFC应用程序向导(MFC AppWizard)可以帮助程序员创建一个MFC应用程序框架,并且自动生成这个MFC应用程序框架所需要的全部文件。然后,程序员利用资源管理器和类向导(ClassWizard),为应用程序添加实现特定功能的代码,以实现应用程序所要求的功能。
在Visual C++中,程序员可以创建以下3种典型的Windows应用程序,它们都是通过MFC应用程序向导(AppWizard)进行创建的:
(1)基于对话框的应用程序:该类应用程序比较适合于文档文献比较少而交互操作需求量比较多的应用场合,比如Windows自带的计算器程序。
(2)单文档界面(SDI)应用程序