《API编程和MFC框架简介.ppt》由会员分享,可在线阅读,更多相关《API编程和MFC框架简介.ppt(16页珍藏版)》请在三一办公上搜索。
1、第17章 API编程和MFC框架简介,在学习了C+基本语法之后,读者还不足以编写出界面化实用的程序,这时需要借助于一些框架来建筑。Visual C+6.0经常使用到API(Application Programming Interface,应用程序接口)和MFC(Microsoft Foundation Class Library,微软基础类库)来进行编程。通过本章的学习,读者需要理解API编程原理、掌握API编程基本方法、理解MFC基本框架,MFC基本开发流程。,17.1 API编程介绍,Windows操作系统应用程序接口(Windows API),简称Win API,是微软对于Window
2、s操作系统中可用的内核应用程序编程接口的称法。API是应用软件与Windows系统最直接的交互方式。Windows自带一个软件开发包(SDK:Software Development Kit),其提供相应的文档和工具,以使开发者开发使用Windows API的软件和利用Windows技术。,17.1.1 认识API的编程,在学习API编程之前,首先来分析一个典型的Win32 Application程序,从而初步认识API函数。,17.1.2 API函数的概念和作用,Windows下,各种界面丰富、功能强大的应用程序都离不开API函数。可以说API函数是开发应用程序的基石,它能直接与操作系统核心
3、进行交互。直接利用Win32 API函数进行开发是比较复杂的。复杂性首先体现在,开发者必须记住大量常用的API函数的原型和使用方法,其次必须对Windows操作系统的底层结构有深入的了解,要做到这两点是比较困难的。随着软件技术的发展,开发者一直在寻找更为有效的开发方法。,17.1.3 Windows API分类,标准Win32 API所提供的功能包括窗口管理、窗口通用控制、Shell特性、图形设备接口、系统服务、国际特性和网络服务7类。这些API所提供的功能分别如下。基础服务(Base Services)API:对Windows系统的基础资源进行访问。例如,对文件系统、外部设备、进程、线程和访
4、问注册表等系统的访问。图形设备接口(GDI)API:在显示器、打印机及其他外部输出设备上绘制图形。图形化用户界面(GUI)API:建立和管理屏幕和大多数基本控件,如接收鼠标和键盘输入等。通用对话框链接库(Common Dialog Box Library)API:提供应用程序的标准对话框,如打开/保存文件对话框、字体对话框等。,通用控件链接库(Common Control Library)API:提供了操作系统级别的高级控件。例如,状态栏、进度条、工具栏等。Windows外壳(Windows Shell)API:提供应用程序对操作系统的访问。网络服务(Network Services)API:
5、提供网络功能接口,如NetBIOS、Winsock等。Web相关API:为网页浏览器提供许多应用程序接口。多媒体相关API:为多媒体服务和游戏服务提供接口。程序通信API:提供不同应用程序的通信接口。后面将学习到这些基本的通讯机制。,17.1.4 Windows API基本术语,为了更好地了解Windows编程,这里必须先了解一些基本术语的概念。1句柄句柄是Windows编程的基础,是最常用的术语。句柄本身是Windows在内存中一个占有4个字长的数值,用于标识应用程序中不同对象和相同对象的不同实例。2消息消息是Windows中的一个重要概念。消息是指操作系统向某个程序发出的一个通知,告诉应用
6、程序某个事件发生。在Windows中,用户或系统中所发生的任何活动被当作事件来处理。3消息处理机制消息处理机制是Windows处理消息的方法和规则,Windows有一套完整的消息处理机制。,17.1.5 Windows API基本使用,现在使用最基本的范例程序Hello World,来说明Win32 API的运行机制。读者可以参照【示例17-1】中的代码来进行分析。编写一个API窗口程序,其具体的操作步骤如下。(1)入口函数:每一个程序都必须有一个进入点,Win32 Application的进入点函数的名称是WinMain,它的原型如下。int APIENTRY WinMain(HINSTAN
7、CE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow),(2)注册窗口类:Windows应用程序的运行一般都需要窗口进行显示,窗口类都是从窗口基类派生而来的。注册窗口类时使用RegisterClassEx()函数,其原型如下。ATOM MyRegisterClass(HINSTANCE hInstance);(3)创建窗口:创建窗口是在InitInstance()函数中完成的。创建窗口使用CreateWindow()函数,其原型如下。,(4)消息循环:当窗口被显示处理后,程序就进入了运行期,并开始执行消息循环处理。(
8、5)窗口回调函数:真正响应消息执行动作的窗口过程,窗口过程函数通常被命名为WndProc()。(6)窗口收到消息后,就应该根据消息的不同来进行处理,其处理形式如下。switch(message)case.:;;,17.2 MFC框架简介,MFC是Microsoft为开发者定制的一个完整的应用程序框架,它可以让开发者在框架的基础上,能够快速地建立Windows应用程序。这是一种相对SDK来说更为简单的方法。,17.2.1 认识MFC的程序,在学习MFC编程之前,首先来看一个典型的MFC程序,从而初步认识MFC应用程序框架。,17.2.2 MFC的编程框架,MFC框架给开发者定义了一个应用程序的基
9、本框架,并提供了许多用户和系统接口的标准实现方法,开发者只要完善预定义的接口即可完成一个应用程序的编写。下面介绍MFC编程的三大特点:1集成工具2代码特性(高度封装和抽象)3重要对象,17.2.3 MFC的模板,MFC通过封装、继承等技术,为开发者提供了一整套应用程序开发模板。开发者可以根据具体的需要,采用不同的模板。在AppWizard中,开发者可以获得以下模板。SDI单文档应用程序模板:只有一个文档区的应用程序(Windows的记事本程序就属于单文档应用程序)。MDI多文档应用程序模板:在一个程序中,可以产生多个文档区的应用程序。基于对话框应用程序模板:应用程序没有文档的概念,程序界面以对话框为基础。,17.2.4 MDI应用程序的构成,读者可先参照前面小节中的步骤建立MDI应用程序,然后再进行如下的学习。下面来分析MDI应用程序的构成。利用VC+6.0的AppWizard生成了一个MDI应用程序后,AppWizard会创建一系列文件,构成了一个应用程序框架。,17.3 小结,本章简单介绍了API编程和MFC框架的一些基础知识。其中,API是应用软件与Windows系统最直接的交互方式;而MFC则可以让开发者快速建立Windows下的应用程序。掌握API和MFC编程是一个比较艰难的过程,如果读者要达到熟练掌握的程度,需要进行额外的学习和研究。,