刚开始用MFC一般都是由class wizard自动生成消息、消息映射以及消息响应函数原型,后来写代码的时候用到自定义消息,这时就要写自己的消息映射和消息响应函数,这个时候才发现对于不同消息的关联宏对于响应函数的原型,通过查MSDN总结了以下几种形式,以后如果遇到不同映射宏的时候再具体查找:
Map entry
Function prototype
ON_MESSAGE( <message>, <memberFxn> )
afx_msg LRESULT memberFxn( WPARAM, LPARAM );
用于从CWnd继承而来的窗口的消息映射
ON_REGISTERED_MESSAGE( <nMessageVariable>, <memberFxn> )
afx_msg LRESULT memberFxn( WPARAM, LPARAM );
ON_THREAD_MESSAGE( <message>, <memberFxn> )
afx_msg void memberFxn( WPARAM, LPARAM );
用于从CWindThread来的类中的消息映射
ON_REGISTERED_THREAD_MESSAGE( <nMessageVariable>, <memberFxn> )
afx_msg void memberFxn( WPARAM, LPARAM );
用于控件等命令的消息映射
ON_COMMAND(<id>, <memberFxn>)
afx_msg void memberFxn( );