MFC 消息映射的有关问题

MFC 消息映射的问题
各位大虾最近遇到一个比较棘手的问题

我自己定义了一个控件,继承自CWnd,如下:
class MyCtrl : public CWnd
{
  ......
public:
  CButton* myBtn;

  afx_msg void OnMyBtn();
  ......
};
我的想法是让这个控件直接拖动到界面上就可以用,但是在定义消息映射时发现

ON_BN_CLICKED(ID,OnMyBtn)中的ID只能是静态的

这样就造成如果我想在一个界面中使用多个自定义的控件MyCtrl我就得在映射表中添加多个

ON_BN_CLICKED(IDx,OnMyBtn)

请问有没有一种好的方法可以解决这个问题

------解决方案--------------------
做成ActiveX控件,加载到控件面板上,就像VC中的按钮控件一样托进来使用。
------解决方案--------------------
在父窗口中添加WM_COMMAND响应 
BOOL MyCtrl::OnCommand( WPARAM wParam, LPARAM lParam )
{
UINT nID = LOWORD(wParam);
UINT nNotifyCode = HIWORD(wParam);
if(myBtn && nID == myBtn->GetDlgCtrlID())
{
OnMyBtn();
return TRUE;
}
return CWnd::OnCommand(wParam, lParam);
}