MFC发送自定义消息

1.普通的自定义消息发送步骤:
(1)在.h文件声明自定义消息:
MFC发送自定义消息
(2)在.h文件的类中声明消息处理函数:
MFC发送自定义消息
(3)在.cpp文件的消息映射宏里将消息与消息处理函数绑定:
MFC发送自定义消息
(4)在.cpp文件中定义消息处理函数:
MFC发送自定义消息
(5)发送消息即可触发对应消息函数:
MFC发送自定义消息
2.PostMessage和SendMessage发送局部变量的区别

注意事项:WPARAM和LPARAM都是指针,所以传过去的实参也应该是指针变量或者地址;

总结: PostMessage发送局部变量,因为其不会等待处理函数结束,自己就继续往下执行了,可能会导致PostMessage所在的函数运行完毕,局部变量内存被释放,而处理函数接收到的变量地址就成了野指针; SendMessage会等待处理函数执行完毕,自己再往下执行,所以处理函数运行期间接受的地址一直存在,可以安心操作,所以局部变量只能用SendMessage发送,全局变量则两个函数都可以发送。

PostMessage发送局部变量的结果:
MFC发送自定义消息
SendMessage发送局部变量的结果:
MFC发送自定义消息