多个按钮共用一个消息响应函数

  

在特殊情况下,需要多个按钮共用一个消息处理。如工具栏上的按钮,行为都类似。可以考虑用同一个消息响应函数,来减少代码的冗余。
一,在消息映射中添加关联的消息响应关系

BEGIN_MESSAGE_MAP (CscaleweightDlg, CDialog)   ,,,…   ,,,ON_CONTROL_RANGE (BN_CLICKED,, 9000,, 9006,,, CscaleweightDlg:: OnClickedToolBar)   ,,,…   END_MESSAGE_MAP ()

一共有7个按钮,ID分别为9000 ~ 90006
二,在。h文件中添加响应函数

afx_msg  void  OnClickedToolBar (UINT  id),

三,在cpp中编写响应的函数体

void  CscaleweightDlg: OnClickedToolBar (UINT  id)   {//工具栏事件处理   NormalToolBar (ID);//其他按钮恢复正常颜色   switch  (ID)   {   ,,,case  9000:   ,,,,,,,,,,,,AfxMessageBox (_T (“0”));   打破;      case  9001:   AfxMessageBox (_T (" 1 "));   打破;      case  9002:   AfxMessageBox (_T (“2”));   打破;      case  9003:   AfxMessageBox (_T (3));   打破;      case  9004:   AfxMessageBox (_T (4));   打破;      case  9005:   AfxMessageBox (_T (“5”));   打破;      case  9006:   AfxMessageBox (_T (“6”));   打破;   }   ,,,,   }

根据不同的ID,确定相应的按钮动作。
多个按钮共用一个消息响应函数

多个按钮共用一个消息响应函数