请问怎么区分自定义按钮的左右键消息

请教如何区分自定义按钮的左右键消息?
我制作了一个MyButton类继承CButton,提供了右键功能,我把功能写在MyButton.cpp里了。现在有很多按钮都要有右键功能,如果都用这个MyButton类,那么所有按钮的左右键功能都是一样的,我不知道在Dlg.cpp里怎样把各个按钮的功能区分开,向大家请教啊~~~
理论上为每个按钮都制作一个新的CButton子类倒是成,,,只是数量比较多,,,呵呵。
请大家帮忙啊,谢谢~~~

------解决方案--------------------
对这个类处理WM_RBUTTONDOWN消息,一收到这个消息,就向父窗口发一个WM_BTN_RBUTTONDOWN消息(自定义消息,可以取别的名字但要有宏定义)。GetParent()-> SendMessage(WM_BTN_RBUTTONDOWN, this, 0);在父窗口里加上:
afx_msg LRESULT OnBtnRButtonDown(WPARAM wParam, LPARAM lParam);
消息映射里加上:
ON_MESSAGE(WM_BTN_RBUTTONDOWN, OnBtnRButtonDown)
再在CPP文件里实现这个函数:
LRESULT xxx::OnBtnRButtonDonw(WPARAM wParam, LPARAM lParam)
{
MyButton * p = (MyButton *)wParam;
...
}
这样就可以跟据指针来判断是哪个按钮被点中了。当然也可以把WPARAM定义成ID啊,什么的,只要能区别开来就行。
------解决方案--------------------
关注