windows消息处理机制和VB

在开始具体的VB知识讲述之前,吉大的教程为我们讲述了windows的消息处理机制,并用C语言,简单描述了windows内部的消息处理机制,分了:注册窗口类,创建窗口,显示消息循环,取出发给窗口,函数执行

说实在的,我有点没听明白,后来又查询了一些资料,大概了解了windows消息处理机制是怎么一回事。


首先说一下消息,消息是任何面向对象系统的关键部分,windows环境与应用程序之间的交互,及其与外界的交互就是通过消息来完成的。Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。

 

 

Windows的消息系统是由3个部分组成的:

 

消息队列:Windows能够为所有已注册的应用程序维护一个消息队列。应用程序必须从消息队列中获取

消息,然后分派给某个窗口。

消息循环:通过这个循环机制应用程序从消息队列中检索消息,再把它分派给适当的窗口,然

后继续从消息队列中检索下一条消息,再分派给适当的窗口,依次进行。

窗口过程:每个窗口都有一个窗口过程来接收传递给窗口的消息,它的任务就是获取消息然后

响应它,窗口过程是一个回调函数;处理了一个消息后,它通常要返回一个值给Windows

注意回调函数是程序中的一种函数,它是由Windows或外部模块调用的。


一个消息从产生到被一个窗口响应,其中有5个步骤:


1) 系统中发生了某个事件。

2) Windows把这个事件翻译为消息,然后把它放到消息队列中。

3) 应用程序从消息队列中接收到这个消息,把它存放在记录中。

4) 应用程序把消息传递给一个适当的窗口的窗口过程。

5) 窗口过程响应这个消息并进行处理。


步骤34构成了应用程序的消息循环。消息循环往往是Windows应用程序的核心,因为消息循环

使一个应用程序能够响应外部的事件。消息循环的任务就是从消息队列中检索消息,然后把消息传递给适当的窗口。如果消息队列中没有消息,Windows就允许其他应用程序处理它们的消息。

Windows操作系统最大的特点就是其图形化的操作界面,其图形化界面是建立在其消息处理机制这个基础之上的。


不理解Windows消息处理机制,肯定无法深入的理解Windows编程。可惜我对windows的消息处理机制内部原理还是理解的比较浅,希望随着学习的深入,能理解得更透彻。


参考:
吉大教程
百度百科
廊坊师范学院-图书馆-中国知网-《在VB中运用Windows消息机制》

posted @ 2010-12-15 23:35  spring高手  阅读(212)  评论(0编辑  收藏  举报