设为首页 加入收藏

TOP

2.2.1 消息概述
2013-10-07 15:57:56 来源: 作者: 【 】 浏览:66
Tags:2.2.1 消息 概述

2.2.1  消息概述

在Windows操作系统中,提供了一系列的API函数来实现界面的绘制功能,例如DrawText 绘制文字、DrawEdge绘制边框、DrawIcon绘制图标、BitBlt绘制位图和Rectangle绘制矩形。即使再复杂的程序界面,也都是通过API函数实现绘制的。

为了确定在什么时候调用这些函数,我们需要一个控制中心来"发号施令"。并且还需要一个命令传达机制,将命令即时地传达到目的地。这个控制中心犹如一颗心脏,源源不断地将血液送往需要的器官。而这个命令传达机制就是Windows消息机制,Windows消息就好比是身体中的血液,它是命令传达的使者。

Windows消息控制中心采用三层结构。

第一级控制中心是顶端的Windows内核:Windows内核维护着一个消息队列,第二级控制中心从这个消息队列中获取属于自己管辖的消息,后做出处理,有些消息直接处理掉,有些还要发送给下一级窗体(Window)或控件(Control)。

第二级控制中心是各Windows应用程序的Application对象。

第三级控制中心是Windows窗体对象,每一个窗体都有一个默认的窗体过程,这个过程负责处理各种接收到的消息。

具体如图2-1所示。

 
图2-1  Windows消息多级控制中心

图2-1中各个对象的具体说明如下。

Windows:指Windows操作系统。

Window:表示Windows窗口。

窗体:包括窗口,以及有句柄的控件。

Control:指控件,控件本身也可能是一个窗口,也可能不是。

Application:即应用程序,应用程序也可能不会用到Windows消息机制,这里我们专门讨论有消息循环的应用程序。

消息是以固定的结构传送给应用程序的,具体结构如下:

  1. typedef struct tagMSG {   
  2. HWND hwnd;   
  3. UINT message;   
  4. WPARAM wParam;   
  5. LPARAM lParam;   
  6. DWORD time;   
  7. POINT pt;   
  8. } MSG  

其中hwnd是窗体的句柄,message是一个消息常量,用来表示消息的类型,wParam和lParam都是32位的附加信息,具体表示什么内容,要视消息的类型而定,time是消息发送的时间,pt是消息发送时鼠标所在的位置。

Windows操作系统中包括以下几种消息。

标准Windows消息:此类消息以WM_开头。

通知消息:通知消息是针对标准Windows控件的消息。通知信息控件有按钮(Button)、组合框(ComboBox)、编辑框(TextBox)、列表框(ListBox)、ListView、TreeView、工具条(Toolbar)、菜单(Menu)等控件。每种消息都会以不同的字符串打头。

自定义消息:即编程(www.cppentry.com)人员还可以自定义消息。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.2 消息交流的意义 下一篇2.2.2 Windows句柄

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)
·labview中tcp/ip通信 (2025-12-25 05:19:13)
·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)