字体:  

关于消息队列的一个问题

visualsea 发表于: 2007-2-10 16:39 来源: 立华软件园博客

一个应用程序可拥有几个消息队列?是每个线程都可拥有一个还是任何对象都可以拥有还是每个应用程序只能有唯一的一个消息队列?

最新回复

Nothing at 2007-2-10 20:46:27
一个应用程序可以拥有很多个消息队列,每个线程都可以拥有对象,每个线程之间也可以进行通讯。
所谓的多线程编程就是一个程序有多个线程,每个线程拥有一个消息队列。
visualsea at 2007-2-14 13:48:23
是这样一回事,我自定义了一个CButtonEx类 (从CButton派生),在CButtonEx中增加一个WM_MOUSEMOVE的消息响应,并且为对话框上的一按钮关联了一个CButtonEx类型的变量m_btn,  按理说当鼠标在对话框上移动时会有一个WM_MOUSEMOVE消息 使得CButtonEx中的消息处理函数作出响应,但为什么非要鼠标在按钮上移动时才响应呢
visualsea at 2007-2-14 13:48:56
是这样一回事,我自定义了一个CButtonEx类 (从CButton派生),在CButtonEx中增加一个WM_MOUSEMOVE的消息响应,并且为对话框上的一按钮关联了一个CButtonEx类型的变量m_btn,  按理说当鼠标在对话框上移动时会有一个WM_MOUSEMOVE消息 使得CButtonEx中的消息处理函数作出响应,但为什么非要鼠标在按钮上移动时才响应呢
Nothing at 2007-2-14 20:23:06
只有当鼠标移动到控件上才能发生控件的鼠标事件,否则不会触发。现在一般都是用API来处理鼠标的移出事件,你可以参考这篇文章

http://www.lihuasoft.net/article/show.php?id=411