这篇文章记录了在MFC开发过程中我碰到的一个关于消息映射函数执行顺序的问题,当然这个问题比较小但是对于刚入门MFC的人来说可能会在这个地方碰壁.
问题的情景:
问题的情景比较简单,我的操作是在对话框中添加了一个按钮控件,在按钮的消息映射中我想实现了点击按钮弹出消息框.代码实现之后运行,发现点击按钮消息框怎么也弹不出来.对比了和之前程序中的按钮属性发现并没有什么不一样,属性完全一致.后来在定义宏中发现我的这个按钮映射了另外一个函数,而那个函数并不会弹出对话框,即我先用ON_CONTROL_RANGE()相当于映射了另一个函数.再ON_BN_CLICKED()去映射我想实现的函数,所以导致了我点击按钮 它执行了先映射的那个函数.
总结:
如果发现控件的消息映射函数的现象不是你想要的,问题可能出现再定义宏中消息映射函数的绑定顺序上,可能你想要的那个消息已经先绑定了其他的函数.