导航

事件和消息的区别

Posted on 2010-04-26 18:15  3DDreams  阅读(1156)  评论(0编辑  收藏  举报

我们通常说:“某一件事发生了”和“向什么发送某一个消息”。比如在桌面上单击鼠标时,某一件事发生了,Windows首先知道这件事的发生,然后使用函数SendMessage向桌面发送一个消息,证明有某件事发生了。这就是“事件驱动、消息处理”的原理。

 

事件是一个动作——用户触发的动作。   
消息是一个信息——传递给系统的信息。   
    
  事件与消息的概念在计算机中较易混淆,但本质不同:   
    
  事件由用户(操作电脑的人)触发且只能由用户触发,操作系统能够感觉到由用户触发的事件,并将此事件转换为一个(特定的)消息发送到程序的消息队列中。   
    
  这里强调的是:   
  可以说“用户触发了一个事件”,而不能说“用户触发了一个消息”。   
  用户只能触发事件,而事件只能由用户触发。   
  一个事件产生后,将被操作系统转换为一个消息,所以一个消息可能是由一个事件转换而来(或者由操作系统产生)。   
  一个消息可能会产生另一个消息,但一个消息决不能产生一个事件——时间只能由用户触发。   
    
  总结(事件:消息的来源)  
  事件:只能由用户通过外设的输入产生。   
  消息:(产生消息的来源有三个)   
  (1)   由操作系统产生。   
  (2)   由用户触发的事件转换而来。   
  (3)   由另一个消息产生。