windows应用概述.ppt
《windows应用概述.ppt》由会员分享,可在线阅读,更多相关《windows应用概述.ppt(45页珍藏版)》请在三一办公上搜索。
1、Windows应用概述,Windows原理Win32与MFC事件驱动与消息驱动,Windows原理,Windows-操作系统什么是操作系统?两大流派-unix和windowsUnixsolaris,bsd,linux和macWindowsos/2和windows多任务、界面化、工具全、资料多,Microsoft提供的编程接口,Win32 API是微软的操作系统Windows提供给开发人员的编程接口,它决定了我们开发的Windows应用程序的能力。MFC(Microsoft Foundation Class Library)是微软为开发人员提供的类库,在某种意义上是对Win32 API的封装,A
2、PI,API函数的功能,采用交互式方法时,可视化开发平台给出了许多选用的对象,程序员可选择所需对象并确定其属性,由此搭建起应用程序的“大框架”,并可根据需要进一步编写必要的细节代码段,最后构成完整的应用程序,编写Windows程序相当一部分工作是在创建对象和为对象属性赋值,对象特征:具有规范形态和操作模式,Win32的来源,Microsoft 32位平台的应用程序编程接口(Application Programming Interface)。Mircrosoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。基于Win32 API所开发的应用程序可以充分挖掘Windows的
3、32位操作系统的潜力,在能成功运行在各种平台上之外,也可以充分利用每个平台特有的功能和属性。(受平台限制),Win32 API的分类,窗口管理窗口通用控制Shell特性图形设备接口系统服务国际特性网络服务,Win32数据类型,HANDLE 32位无符号的整数,句柄 HINSTANCE 32位的无符号整数,实例句柄 HWND 32位的无符号整数,窗口句柄 HDC 设备描述背景的句柄 LONG 32位带符号整数 LPSTR 线性的32位字符串指针 WCHAR 16位的UNICODE字符,编写Windows应用程序之要点,(1)窗口的概念(2)事件驱动的概念(3)句柄(4)消息,窗口,系统管理应用程
4、序的基本单位应用程序与用户之间交互的接口环境Win应用程序基本的操作单元编写一个Windows应用程序首先应创建一个或多个窗口,随后应用程序的运行过程即是窗口内部、窗口与窗口之间、窗口与系统之间进行数据处理与数据交换的过程。,事件驱动,Windows程序设计是针对事件或消息的处理,消息是描述事件发生的信息(如按下鼠标或键盘)Windows程序的执行顺序取决于事件发生的顺序,程序的执行顺序是由顺序产生的消息驱动的,但是消息的产生往往并不要求有次序之分。事件驱动编程方法-交互式程序。,句柄,句柄是一个4字节长的数值,用于标识应用程序中不同的对象和同类对象中不同的实例应用程序通过句柄访问相应的对象信
5、息常用窗口按钮图标滚动条输出设备控制文件,常用句柄类型及其说明,HWND窗口句柄HDC设备环境句柄HBITMAP位图句柄HCURSOR光标句柄HICON图标句柄HFONT字体句柄HMENU菜单句柄HPEN画笔句柄HFILE文件句柄HBRUSH画刷句柄HINSTANCE当前实例句柄,消息,Windows应用程序利用Windows消息(Message)与应用程序及系统进行信息交换。消息的组成:消息号:由事先定义好的消息名标识字参数:用于提供消息的附加信息长字参数:用于提供消息的附加信息,typedef struct tagMSG HWND hwnd;窗口句柄,为null,则可检索所有驻留在消息队列
6、中的消息 UINT message;消息值,由Windows.h头文件中的宏定义来标识 WPARAM wParam;包含有关消息的附加信息,不同消息其值有所不同 LPARAM lParam;DWORD time;指定消息送至队列的时间 POINT pt;指定消息发送时屏幕光标的位置,数据类型POINT也是一个结构体MSG;,附加信息与具体消息号的值有关,在Win中消息用结构体MSG表示,typedef struct tagPOINT LONG x;LONG y;POINT;,Windows常用消息,窗口管理消息初始化消息输入消息系统消息剪贴板消息控制处理消息控制通知消息滚动条通知消息非用户区消
7、息MDI消息DDE消息应用程序自定义的消息,MFC-编程框架,MFC 中的各种类结合起来构成了一个应用程序框架,用以让程序员建立Windows下的应用程序,相对SDK来说更为简单的方法。具体来说,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有 的东西填入这个轮廓。Microsoft Visual C+提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑
8、。,封装,构成MFC框架的是MFC类库,一种C+类库,具有明显封装性质的类库:(1)对Win32应用程序编程接口的封装:用一个C+Object来包装一个Windows Object。(2)对应用程序概念的封装:MFC把win32中许多有含义的处理序列封装起来,替程序员完成这些工作。另外,MFC提出了以文档-视图为中心的编程模式,MFC类库封装了对它的支持。(3)对COM/OLE特性的封装:MFC的OLE类封装了OLE API大量的复杂工作,这些类提供了实现OLE的更高级接口。(4)对ODBC功能的封装:以少量的能提供与ODBC之间更高级接口的C+类,封装了ODBC API的大量的复杂的工作,提
9、供了一种数据库编程模式。几个概念的解释,继承,MFC抽象出众多类的共同特性,设计出一些基类作为实现其他类的基础。其中,最重要的类是CObject和CCmdTarget。CObject是MFC的根类,绝大多数MFC类是其派生的,包括CCmdTarget。CObject 实现了一些重要的特性,包括动态类信息、动态创建、对象序列化、对程序调试的支持,等等。所有从CObject派生的类都将具备或者可以具备CObject所拥有的特性。CCmdTarget通过封装一些属性和方法,提供了消息处理的架构。MFC中,任何可以处理消息的类都从CCmdTarget派生。对每种性质不同的对象(窗口、应用程序、文档等)
10、,MFC都设计了一组类对这些对象进行封装,每一组类都有一个基类,从基类派生出众多更具体的类。例如:CWnd、CwinThread、Cdocument等。,虚拟函数和动态约束,MFC以“C+”为基础,必然支持虚拟函数和动态约束。但为了避免导致虚拟函数表过于臃肿(消耗内存、效率低下),MFC建立了消息映射机制,以富有效率、便于使用的手段解决消息处理函数的动态约束问题。通过虚拟函数和消息映射,MFC类提供了丰富的编程接口。程序员继承基类的同时,把自己实现的虚拟函数和消息处理函数嵌入MFC的编程框架。MFC编程框架将在适当的时候、适当的地方来调用程序的代码。,MFC的宏观框架体系,如前所述,MFC实现
11、了对应用程序概念的封装,把类、类的继承、动态约束、类的关系和相互作用等封装起来。这样封装的结果对程序员来说,是一套开发模板(或者说模式)。针对不同的应用和目的,程序员采用不同的模板。例如,SDI应用程序的模板,MDI应用程序的模板,规则DLL应用程序的模板,扩展DLL应用程序的模板,OLE/ACTIVEX应用程序的模板,等等。这些模板都采用了以文档-视为中心的思想,每一个模板都包含一组特定的类。典型的MDI应用程序的构成将在下一节具体讨论。,了解MFC机理的作用,内部机制有助于写出功能灵活而强大的程序。为了实现消息映射机制,MFC编程框架必须要保证首先得到消息,然后按既定的方法进行处理。为了实
12、现对DLL编程的支持和多线程编程的支持,MFC内部使用了特别的处理方法,使用模块状态、线程状态等来管理一些重要信息。MFC内部处理对程序员来说是透明的。,MFC特性总结,MFC封装了Win32 API,OLE API,ODBC API等底层函数的功能,并提供更高一层的接口,简化了编程。同时,MFC支持对底层API的直接调用。MFC提供了一个Windows应用程序开发模式,对程序的控制主要是由MFC框架完成,还覆盖大部分的功能,例如,预定义或实现了许多事件和消息处理。框架或者由其本身处理事件,不依赖程序员的代码;或者调用程序员的代码来处理应用程序特定的事件。MFC是C+类库,程序员通过使用、继承
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- windows 应用 概述
链接地址:https://www.31ppt.com/p-5576475.html