1.普通的自定義消息發送步驟:
(1)在.h文件聲明自定義消息:
(2)在.h文件的類中聲明消息處理函數:
(3)在.cpp文件的消息映射宏裏將消息與消息處理函數綁定:
(4)在.cpp文件中定義消息處理函數:
(5)發送消息即可觸發對應消息函數:
2.PostMessage和SendMessage發送局部變量的區別
總結: PostMessage發送局部變量,因爲其不會等待處理函數結束,自己就繼續往下執行了,可能會導致PostMessage所在的函數運行完畢,局部變量內存被釋放,而處理函數接收到的變量地址就成了野指針; SendMessage會等待處理函數執行完畢,自己再往下執行,所以處理函數運行期間接受的地址一直存在,可以安心操作,所以局部變量只能用SendMessage發送,全局變量則兩個函數都可以發送。
PostMessage發送局部變量的結果:
SendMessage發送局部變量的結果: