网站大量收购独家精品文档,联系QQ:2885784924

8第八讲 Windows编程机制2015.pptx

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计第八讲 Windows编程机制面向对象课程组本讲要点Windows的编程机制MFC应用程序框架MFC消息管理MFC应用实例CImageApp程序演示:CImageApp程序Windows操作系统特点一致的图形化的用户界面。使用图形和图像来显示应用程序数据。多任务机制。Windows是一个多任务的图形窗口操作系统。硬件即插即用功能。Windows提供了各种设备驱动程序来支持各种各样的外部设备。与设备无关的图形图像机制等等。开始过程一条件?过程二YN结束过程三Dos程序主要采用顺序的、关联的、过程驱动的程序设计方法。程序直接控制时间和过程的顺序。缺点:交互性差,用户界面不够友好。事件驱动程序模型Windows程序由事件的发生来控制,允许用户用各种合理的顺序来安排程序的流程。消息队列及其在应用程序中的轮询处理 Windows应用程序消息的来源 输入消息:包括键盘和鼠标的输入。这类消息首先放到消息队列中,然后由Windows将它们送入应用程序消息队列中,由应用程序来处理消息。控制消息:用来与Windows的控制对象,如列表框,按钮等进行双向通信。这类消息一般不经过应用程序消息队列,而是直接发送到控制对象上去。系统消息:对程序化的事件或系统时钟中断作出反应。一些系统消息,如动态数据交换(DDE)要通过系统的消息队列,而有些则不通过系统消息队列直接送入应用程序的消息队列,如创建窗口消息。用户消息:这是程序员自己定义并在应用程序中主动发出的,一般由应用程序的某一部分内部处理。消息用MSG结构表示 typedef struct tagMSG { HWND hWnd; // 目标窗口句柄 UINT message; // 消息标识 WPARAM wParam; // 消息参数1(附加信息,16位) LPARAM lParam; // 消息参数2(附加信息,32位) DWORD time; // 消息发送时间 POINT pt; // 消息发送时鼠标的屏幕坐标} MSG;wParam和lParam的具体含义与message成员的值有关 窗口1消息队列窗口函数WndProc 窗口2消息队列窗口函数WndProc用户交互内核USER消息1消息2消息3消息驱动模型Windows 操作系统包括三个内核基本元件: GDI、Kernel和UserGDI(图形设备接口):负责在屏幕上绘制像素、打印输出,绘制用户界面包括窗口、菜单、对话框等。Kernel支持和操作系统密切相关的功能:如进程加载,文本切换、文件I/O、内存管理、线程管理等。User为所有的用户界面对象提供支持,它用于接收和管理所有输入消息、系统消息并把它们发送给相应的窗口的消息队列。窗口 在Windows编程中,程序的基本单位不是过程和函数,而是窗口。 Windows程序以窗口的形式存在,在不同窗口之间传递消息是Windows和应用程序进行交流的主要形式。程序具体功能由不同的窗口函数实现。 相似的界面雷同的程序基本结构相似的代码通用的套路而已程序设计的重点:根据软件的功能需要,考虑用户可能的各种输入;针对不同的输入事件,提供相应的消息处理函数。什么是Windows API ?Windows为应用程序提供了各种服务,每一种服务就是一个函数,可以帮应用程序达到开启视窗、描绘图形、使用周边设备等目的。这些服务被称为Application Programming Interface,简称API 函数。它是应用软件与Windows系统最直接的交互方式。Windows API是Windows操作系统与应用程序之间的标准接口,它提供了上千个标准函数、宏和数据结构的定义。凡是在 Windows 工作环境下执行的应用程序,都可以调用Windows API。Windows API函数定义在一些DLL动态链接库中,其中最主要的DLL是User32.dll、Gdi32.dll和Kernel32.dll三个库文件。 如何对待Windows API我们对待API函数不必刻意去研究每一个函数的用法,那也是不现实的(能用得到的API函数有几千个呢)。 不要专门去学,在需要的时候去查API帮助就足够了。 Windows应用程序生成SDK Windows程序开发Windows应用程序入口程序【WinMain】构建窗口类【WNDCLASS】注册窗口类【RegisterClass】创建窗口【CreateWindow】显示窗口【ShowWindow】更新窗口【UpdateWindow】进入消息循环【while循环】HANDLE 句柄句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值(四字节长的数值),来标志应用程序中的不同对象和同类对象中的不同的实例,例如:一个窗口,按钮,

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档