版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 Servi
5、ces)API:提供网络功能接口,如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 APIEN
7、TRY WinMain(HINSTANCE 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应用程序框架。,1
9、7.2.2 MFC的编程框架,MFC框架给开发者定义了一个应用程序的基本框架,并提供了许多用户和系统接口的标准实现方法,开发者只要完善预定义的接口即可完成一个应用程序的编写。下面介绍MFC编程的三大特点: 1集成工具 2代码特性(高度封装和抽象) 3重要对象,17.2.3 MFC的模板,MFC通过封装、继承等技术,为开发者提供了一整套应用程序开发模板。开发者可以根据具体的需要,采用不同的模板。在AppWizard中,开发者可以获得以下模板。 SDI单文档应用程序模板:只有一个文档区的应用程序(Windows的记事本程序就属于单文档应用程序)。 MDI多文档应用程序模板:在一个程序中,可以产生多个文档区的应用程序。 基于对话框应用程序模板:应用程序没有文档的概念,程序界面以对话框为基础。,17.2.4 MDI应用程序的构成,读者可先参照前面17.2.1小节中的步骤建立MDI应用程序,然后再进行如下的学习。下面来分析MDI应用程序的构成。利用VC+6.0的AppWizard生成了一个MDI应用程序后,AppWizard会创建一系列文件,构成了一个应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境电商跨境电商平台广告发布协议
- 2026年shl 语言测试题及答案
- 2026年地球和月球测试题及答案
- 2026年面试情景压力测试题及答案
- 2026年袭警方面测试题及答案
- 2026年共同的家园测试题及答案
- 2026年语文树之歌测试题及答案
- 2026年下载爱情情商测试题及答案
- 2026年潍坊医保医师测试题及答案
- 地基处理的专题报告
- 企业员工食堂食材溯源管控方案
- 2026年安徽省普通高校分类考试招生和对口招生文化素质测试语文试题
- 牛羊屠宰兽医卫生检验人员考试题库及答案解析
- 乡村网格员考试题目及答案
- 2026党建应知应会基础知识能力测试题库(后附参考答案)
- 2025-2026年济南章丘区九年级中考英语一模考试试题以及含答案
- 绵阳数学中考真题及答案2026
- 一年级下册数学综合计算每日一练60天附答案码
- 病人的搬运技术
- 保洁机场培训
- 街道法律明白人培训课件
评论
0/150
提交评论