windows消息机制

来源:百度知道 编辑:UC知道 时间:2024/07/03 02:12:08
说清楚
举例说明主窗口和子窗口之间消息 传递机制
窗口和摸态非摸态窗口之间的消息传递机制

最好多举几个例子
3Q

谢谢
100分送上
有补加
我想知道
发的什么样消息
子窗口和父窗口 及摸态和非摸态对话框
传递什么样的消息的过程 和 顺序

在***.h文件中,声明消息响应函数和定义消息ID
#define WM_MYMSG WM_USER + 100
afx_msg void YourFunc();
在***.cpp文件中,添加消息映射
ON_MESSAGE(WM_MYMSG, YourFunc)
最后是函数的实现
C***::YourFunc()
{
...
}

更多关于Windows消息机制的内容参见:
http://bbs.51cto.com/viewthread.php?tid=487054

不明白你说的问题是什么,因为你这个问题可深可浅。浅的话就是消息处理的应用问题,这个可以回答你,你可以向任何一个窗口过程通过::SendMessage()或PostMessage()(函数具体参数查msdn)发送消息,包括windows定义的消息和你的自定义消息。windows的消息处理较简单,在mfc中为响应这个消息的窗口类(消息的目标窗口类)添加映射就可以了,非mfc的也不困难,在目标窗口的窗口处理过程中switch(msg)中添加一个
case:你的消息
然后在这里添加你的处理。
自定义消息类似。楼上说的只是mfc的自定义消息的处理方法。在非mfc中,同样是先要定义你的消息,
#define WM_MYMSG WM_USER + 100
在需要发送消息的地方用::SendMessage(hwnd,WM_MYMSG,NULL,NULL),hwnd是目标窗口句柄
在目标窗口的窗口处理过程中switch(msg)中添加一个case语句。
case WM_MYMSG:
//你的处理

往深的说,如果你说的是windows操作系统内部的实现机制,那么能回答你这个问题的人估计很难找到,我也爱莫能助。