第3章windows编程基础1

第3章windows编程基础1

ID:42160654

大小:1.06 MB

页数:73页

时间:2019-09-09

第3章windows编程基础1_第1页
第3章windows编程基础1_第2页
第3章windows编程基础1_第3页
第3章windows编程基础1_第4页
第3章windows编程基础1_第5页
资源描述:

《第3章windows编程基础1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3章Windows编程基础VC++程序设计1本章导读Windows操作系统是一个多任务、面向对象的图形操作系统。在Windows操作环境中,Windows应用程序采用“基于消息的事件驱动”运行机制,这是它与过去的面向过程的应用程序机制的不同之处。面向过程的编程方式:程序执行的流程遵从程序员预先规定的路径.面向对象的Windows程序执行顺序取决于事件和消息发生的顺序。Windows应用程序设计的重点是编写事件和消息的处理程序。2本章主要内容事件驱动与windows消息系统Windows窗口win32程序开发流程MF

2、C概述MFC应用程序框架结构MFC消息处理33.1事件驱动与windows消息系统程序开始程序结束消息源1消息源2消息源n是否退出派送消息捕获消息处理消息是否...图3.1事件驱动的程序模型4Windows消息Windows消息消息来源5Windows消息系统消息队列消息驱动模型句柄消息的格式创建消息循环窗口1窗口函数WndPros用户交互内核USER消息队列窗口2窗口函数WndPros消息队列消息1消息2消息3图3.2消息驱动模型6编写Windows应用程序必须首先了解以下内容:(1)窗口的概念(2)事件驱动的概念

3、(3)消息(4)句柄对象是Windows的规范部件窗口菜单按钮对话框程序模块编写Windows程序相当一部分工作是在创建对象和为对象属性赋值对象特征:具有规范形态和操作模式编程方法传统编写法-->API交互式方法-->MFC3.2Windows窗口7一个应用程序的窗口一般包含下列组成部分:窗口边界工作区控制菜单框下拉菜单水平滚动条垂直滚动条最大化按钮最小化按钮标题栏1.窗口8窗口是由应用程序创建的一个用于接收用户输入和显示输出的矩形区域。是系统管理应用程序的基本单位。窗口由“非客户区”和“客户区”组成。非客户区由系统

4、绘制,包括菜单、工具栏、最大化按钮等。客户区由应用程序绘制,用于输出数据和接受用户的输入。编写一个Windows应用程序首先应创建一个或多个窗口,随后应用程序的运行过程即是窗口内部、窗口与窗口之间、窗口与系统之间进行数据处理与数据交换的过程。窗口9Windows程序设计是针对事件或消息的处理进行。消息是描述事件发生的信息如按下鼠标或键盘Windows对消息有一套严格的定义,并在其产生时将其发送给所有相关的应用程序,这些消息用于驱动应用程序运行以实现一定的功能。Windows程序的执行顺序取决于事件发生的顺序,程序的执

5、行顺序是由顺序产生的消息驱动的,但是消息的产生往往并不要求有次序之分。事件驱动10消息驱动机制派送消息消息源1消息源2消息源n否程序开始程序结束捕获消息是否退出消息是···处理消息113消息消息的含义消息来源消息队列消息的结构消息是关于所发生的事件的通知.事件是一个动作,如按下鼠标、选择菜单输入消息、控制消息、系统消息、用户消息USER用户交互内核来管理12Windows应用程序的结构是基于消息驱动模型,程序的任何一个动作都是在接收到一条消息后发生的,如:WM_KEYDOWNWM_KEYUPWM_CHARWM_LBU

6、TTONDOWNWM_LBUTTONUPWM_PAINTWM_COMMAND等,每条消息都可以带有参数(wParam,lParam)。大部分的消息都关联到某个窗口,每个窗口都有一个消息处理过程(函数),属于某个窗口的消息都将由相应的消息处理过程来进行处理。每个Windows应用程序都有一个消息队列,Windows系统会把属于各个应用程序的消息放入各自的消息队列,应用程序不断地从自己的消息队列中获取消息并把它们发送到相应的窗口处理过程。这个循环(取消息-处理消息)一直到用户以某种方式(如:关闭应用程序的主窗口)结束程序

7、而终止。下面给出了Windows应用程序的一个框架:消息的含义13消息队列应用程序1窗口函数WndProc消息映射默认窗口函数DefWndowProcApp1消息队列App2消息队列App3消息队列系统队列输入消息系统消息postMessageSendMessageUSER用户交互内核14消息的结构定义:typedefstructtagMSG{HWNDhwnd;接收消息的窗口句柄,为null,则可检索所有驻留在消息队列中的消息UINTmessage;消息值,由Windows.h头文件中的宏定义来标识WPARAMwPa

8、ram;32位消息的附加信息wParam和lParam,不同消息其值有所不同LPARAMlParam;DWORDtime;指定消息送至队列的时间POINTpt;指定消息发送时屏幕光标的位置,其数据类型POINT是一个结构体}MSG;消息号:由事先定义好的消息名标识字参数(wParam),长字参数(lParam):用于提供消息的附加信息消息附加信

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

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

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