DECLARE_MESSAGE_MAP( ) 的使用
示例:
// DECLARE_MESSAGE_MAP的例子
//在.h文件中
class CMyDlg:public CDialog
{
public:
CMyWinApp::CMyWinApp(){}
CMyWinApp::~CMyWinApp{}
……
protected:
afx_msg void OnPaint(); //声明消息
DECLARE_MESSAGE_MAP() //这里是没有分号的
};
//在.cpp文件中
BEGIN_MESSAGE_MAP(CMyDlg, CDialog) //依靠里面的参数来识别该宏是哪个类的消息处理
ON_WM_PAINT()
END_MESSAGE_MAP()
//然后具体实现消息处理
void CMyDlg::OnPaint()
{
……
CDialog::OnPaint();
}
说明:
DECLARE_MESSAGE_MAP()宏的作用是向类中添加消息映射必要的结构体和函数声明,只需要添加一次,放在什么位置并不重要,就如同类里其他普通函数的声明可以相互交换顺序一样。 函数的修饰符也是可以自己决定的,遵循一般原则。比如你需要在类外部也可以调用该消息响应函数,就可以定义成public的。
你的程序中的每一个CCmdTa