windows 编程 复习纲要

windows 编程 复习纲要

ID:41373065

大小:743.00 KB

页数:48页

时间:2019-08-23

windows 编程 复习纲要_第1页
windows 编程 复习纲要_第2页
windows 编程 复习纲要_第3页
windows 编程 复习纲要_第4页
windows 编程 复习纲要_第5页
资源描述:

《windows 编程 复习纲要》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2021/7/231前言什么是WindowsAPI?有过编程经验的读者都应该知道,在传统应用程序中要完成某个功能,都是以函数调用的形式实现的,同样,Windows应用程序也是以函数调用的方式来通知操作系统执行相应的功能的。操作系统所能够完成的每一个特殊功能通常都有一个函数与其对应,也就是说,操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应用程序编程的接口(ApplicationProgrammingInterface),简称WindowsAPI

2、。如CreateWindow就是一个API函数,应用程序中调用这个函数,操作系统就会按照该函数提供的参数信息产生一个相应的窗口。这些API函数都在windows.h中声明。2021/7/232什么是MFC?MFC英文全称为MicrosoftFoundationClasses(微软基础类库),是把WindowsAPI进行封装的类库,它是一个类的集合,通过覆盖WindowsAPI,为编程提供了一个面向对象的界面。MFC使Windows程序员能够利用C++面象对象的特性进行编程。前言2021/7/233为什么要使用MFC?可重用性封装后使方法和属性

3、更紧密的捆绑常用的功能自动化,减少编写代码的数量提供应用程序的框架结构框架结构提供了抽象功能,它远远超出了WindowsAPI的功能。例如:MFC的文档/视图体系结构在API上建造了一个功能强大的基础结构,它把程序中数据的图形表示(或成为视图)与数据本身分开。这种抽象对API而言完全是陌生的,而且在MFC框架结构之外或类似的类库中也不存在。前言2021/7/234Windows程序内部运行机制Windows编程模型事件驱动编程模型——以消息为基础,事件驱动之WM_PAINTWM_KEYDOWNWM_LBUTTONDOWN…消息响应消息响应消息

4、响应…DefWindowProc来源于操作系统的消息消息队列WinMain消息循环发送消息窗口过程未处理的消息应用程序窗口2021/7/235Windows程序内部运行机制小小知识点——“句柄”句柄(HANDLE),资源的标识。操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源。按资源的类型,又可将句柄细分成图标句柄(HICON),光标句柄(HCURSOR),窗口句柄(HWND),应用程序实例句柄(HINSTANCE)等等各种类型的句柄。操作系统给每一个窗口指定的一个唯一的标识号即窗口句柄。2021/7/236Windows程序内部运

5、行机制编写Windows应用程序的要素消息响应消息响应消息响应…DefWindowProcWinMain消息循环发送消息窗口过程未处理的消息应用程序1入口函数WinMain2创建窗口3发送消息与消息循环4窗口过程与消息响应消息窗口2021/7/237窗口类第二个成员变量lpfnWndProc指定了这一类型窗口的过程函数,也称回调函数。回调函数的原理是这样的,当应用程序收到给某一窗口的消息时(还记得前面讲过的消息通常与窗口相关的吗?),就应该调用某一函数来处理这条消息。这一调用过程不用应用程序自己来实施,而由操作系统来完成,但是,回调函数本身的

6、代码必须由应用程序自己完成。对于一条消息,操作系统到底调用应用程序中的哪个函数(回调函数)来处理呢?操作系统调用的就是接受消息的窗口所属的类型中的lpfnWndProc成员指定的函数。每一种不同类型的窗口都有自己专用的回调函数,该函数就是通过lpfnWndProc成员指定的。Windows程序内部运行机制窗口过程函数2021/7/238Windows程序内部运行机制创建窗口创建一个完整的窗口需要经过下面四个操作步骤:Step1:设计一个窗口类;Step2:注册窗口类;Step3:创建窗口;Step4:显示及更新窗口。2021/7/239Win

7、dows程序内部运行机制WM_PAINTWindows把一个最小的需要重绘的正方形区域叫做“无效区域”。当Windows发现了一个“无效区域“后,它就会向该应用程序发送一个WM_PAINT消息,通知应用程序重新绘制窗口。当窗口从无到有、改变尺寸、最小化后再恢复、被其他窗口遮盖后再显示时,窗口的客户区都将变为无效。那么,应用程序是如何通知操作系统执行某个功能的呢?2021/7/2310Windows程序内部运行机制自行发送消息的两种方式发送消息可以使用SendMessage和PostMessage函数。SendMessage将消息直接发送给窗口

8、,并调用该窗口过程进行处理。在窗口过程对消息处理完毕后,该函数才返回。PostMessage函数将消息放入与创建窗口的线程相关联的消息队列后立即返回。2021/7/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。