这几天用MFC做一个界面,以前很多东西一直没弄清楚,做的时候也很茫然。比如windows消息,命令消息,通告消息的区别,消息的传递,消息反射的实现等等。昨天看了一下MSDN,今天有实际操作了一下,总算有了一些了解。
对于一个控件来说,比如一个listctrl,当DBCLICK发生时,如果有WM_DBCLICK处理程序,则该函数处理,其他包括NM_**,NM_**_REFLECT都没有机会处理,如果没有WM_DBCLICK,则REFLECT处理,若没有REFLECT映射,则NM_才有机会处理。其中,REFLECT有包括REFLECT_EX,它可以通过返回值决定是否给NM_处理机会。