关于消息反射,网上有两篇文章写的很详细了。
在这写点今天的收获。
1.反射消息由子控件发出,经父窗口路由,父窗口先给子控件一个处理的机会。先在子控件中处理,若子控件不处理,则在父窗口中处理。按默认的流程,子控件一旦处理了,父窗口便不进处理函数了。
2.若要两边都处理,则要更改父窗口的路由过程。网上都说是在OnNotify()这个函数处理的,但我对话框测试的结果却是在OnCommand()函数中。OnCommand()的lParam参数在处理菜单消息的时候为零,但在处理反射消息的时候是子控件的句柄。
我就是把lParam参数挪做他用的时候,产生了不能进入反射消息响应函数的问题。