- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows程序设计教程 第7章 消息 Windows是一个消息驱动的操作系统。 所谓消息,是指应用程序与操作系统交互的手段。 用户输入由Windows以消息的形式发送给应用程序的窗口。 该窗口通过窗口过程来接收和处理消息,然后再把控制返还给Windows。 本章将详细介绍Windows中的消息处理机制。 7.1 Windows消息 对于Windows应用程序而言,消息是其动作的动力源泉。 Windows应用程序可以接受各种消息,包括键盘、鼠标等。 从不同的角度划分,消息分为不同的种类。 在了解消息分类之前,首先介绍一下消息的具体结构。 7.1.1 消息结构 Windows通过监视各种输入设备把发生的事件转化为消息,并将消息保存在消息队列中。 在Windows中,消息结构的原型如下所示: typedef struct tagMSG{ HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG; 7.1.2 消息分类 1.消息的发送途径 (1)队列消息 Windows为当前运行的每个Windows程序维护一个消息队列。 队列消息是指由Windows放入程序的消息队列中,然后由应用程序取出并发送的消息。 队列消息又可以分为系统消息队列和线程消息队列。 (2)非队列消息 非队列消息是指在Windows调用窗口时直接传送给窗口过程的消息。 2.消息的来源 (1)系统消息 系统消息是一些预定义的UINT常量值。 (2)自定义消息 用户可以为了特定的目的而定义自己的消息,这些消息被称为自定义消息。 3.消息的处理方式 (1)窗口消息 窗口消息一般与创建窗口、绘制窗口、移动窗口和销毁窗口等操作有关。 ① WM_CHAR ② WM_CREATE ③ WM_PAINT ④ WM_LBUTTONDOWM ⑤ WM_MOUSEMOVE ⑥ WM_CLOSE ⑦ WM_DESTROY (2)命令消息 命令消息一般与处理用户的某个请求或执行用户的某个命令有关。 (3)控件通知消息 普通的控件都是子窗口,因为其都继承自CWnd类。 它们通过向其父窗口(一般为对话框)发送消息,响应用户的动作(如移动鼠标、单击等)。 7.2 消息的传输 通过上面的介绍,读者已经了解了消息的基本知识。 本节将具体介绍消息是如何在应用程序与窗口之间或是窗口与窗口之间进行传输的。 7.2.1 消息的寄送 消息的传输分为消息的寄送和发送两种。 寄送一个消息时,把消息发送到拥有那个窗口的应用程序的消息队列中。 当应用发现自己有空闲时,它就搜索消息队列,并在消息队列中处理消息,即从队列中删除它们,并将它们发送到指定的窗口。 用MFC寄送一个消息的方法是:首先获取接收消息的CWnd类对象的指针;然后,调用CWnd的成员函数PostMessage()。 如前所述,该函数寄送消息即刻返回,其返回值放在Res中,它仅标志寄送成功与否: LRESULT Res=pWnd-PostMessage(UINT Msg,WPARAM wParam,LPARAM lParam); 7.2.2 消息的发送 发送一个消息时,消息不进入目标窗口的消息队列。 本质上与直接调用窗口处理过程一样,就好像它是另一个函数,所以通信是即时的。 直到窗口过程为调用函数返回一个结果后,应用程序才能继续运行。 其具体的调用方式与寄送消息时类似,然而消息发送是调用SendMessage()而不是PostMessage()函数。 另外,返回结果也不太一样,它返回的是由目标窗口的窗口过程处理而得到的结果,这里不再赘述。 7.3 消 息 处 理 消息在经过传输后,需要对消息进行处理。 此时要为消息
您可能关注的文档
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch12 终端服务.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch13 配置代理服务器.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch13 习题参考答案.doc
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch14 Windows Server 2008安全防护.ppt
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch14 习题参考答案.doc
- Windows Server 2008系统管理 教学课件 作者 978 7 302 31251 2 ch15 综合应用案例.ppt
- Windows Server2008案例教程 教学课件 作者 胡刚强 第八章 WEB服务器安装使用.ppt
- Windows Server2008案例教程 教学课件 作者 胡刚强 第二章 Windows Server 2008安装使用.ppt
- Windows Server2008案例教程 教学课件 作者 胡刚强 第九章 架设FTP服务器.ppt
- Windows Server2008案例教程 教学课件 作者 胡刚强 第六章 DNS服务器的安装与配置.ppt
- 2025届高考英语二轮复习《形容词和副词》课件.pdf
- 2025年新高考语文复习 文言文阅读——概括分析文意客观题 课件.pdf
- Windows Server网络管理项目教程(Windows Server 2022)(微课版)2.1 知识引入.pptx
- 2024-2025学年高一英语必修第一册(人教版)同步课堂 Unit 1 Teenage Life:Period 1 Listening and Speaking【配套课件】.pdf
- Windows Server网络管理项目教程(Windows Server 2022)(微课版)5.1 知识引入.pptx
- 2024年(新高考Ⅰ卷)英语阅读理解真题讲评 课件.pdf
- 2025届高考日语二轮复习《作文写作技巧》课件.pdf
- 2025届高考语文二轮复习《作文审题立意》课件.pdf
- Windows Server网络管理项目教程(Windows Server 2022)(微课版)5.7 拓展案例3:配置FTP站点用户隔离.pptx
- 2024年度SaaS安全调查报告.pdf
最近下载
- 神经外科介入神经放射治疗技术操作规范2023版.pdf VIP
- 《IE基础知识培训》PPT课件.ppt
- 神经系统体格检查演示课件.ppt
- 《财经法规与会计职业道德》习题答案及解析.pdf VIP
- 租赁合同模板下载打印5篇.docx
- 专题1.2 全等图形和全等三角形(分层练习)-2023-2024学年八年级数学上册基础知识专项突破讲与练(苏科版).docx VIP
- 《时间序列分析》PPT课件(全).pptx
- 电大一网一《网络存储技术》形考任务三:基于iSCSI传输的配置与管理形考任务三:基于iSCSI传输的配置与管理(1).docx VIP
- 学校“四个一”突发事件应急处置工作机制范文(6篇).pdf VIP
- 饱和聚酯培训资料.ppt
文档评论(0)