在特殊情況下,需要多個(gè)按鈕共用一個(gè)消息處理.如工具欄上的按鈕,行為都類似.可以考慮用同一個(gè)消息響應(yīng)函數(shù),來減少代碼的冗余.
一、在消息映射中添加關(guān)聯(lián)的消息響應(yīng)關(guān)系
成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,成都做網(wǎng)站公司-成都創(chuàng)新互聯(lián)已向1000多家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。
BEGIN_MESSAGE_MAP(CscaleweightDlg, CDialog) ... ON_CONTROL_RANGE(BN_CLICKED, 9000, 9006, &CscaleweightDlg::OnClickedToolBar) ... END_MESSAGE_MAP()
一共有7個(gè)按鈕,ID分別為9000~90006
二、在.h文件中添加響應(yīng)函數(shù)
afx_msg void OnClickedToolBar(UINT id);
三、在cpp中編寫響應(yīng)的函數(shù)體
void CscaleweightDlg::OnClickedToolBar(UINT ID) {//工具欄事件處理 NormalToolBar(ID);//其他按鈕恢復(fù)正常顏色 switch (ID) { case 9000: AfxMessageBox(_T("0")); break; case 9001: AfxMessageBox(_T("1")); break; case 9002: AfxMessageBox(_T("2")); break; case 9003: AfxMessageBox(_T("3")); break; case 9004: AfxMessageBox(_T("4")); break; case 9005: AfxMessageBox(_T("5")); break; case 9006: AfxMessageBox(_T("6")); break; } }
根據(jù)不同的ID,確定相應(yīng)的按鈕動作。