MFC为多个控件绑定同一个函数

方式一:

afx_msg void OnButtonClick(UINT nID);

ON_CONTROL_RANGE(BN_CLICKED, IDC_BUTTON_1, IDC_BUTTON_XX, OnButtonClick)

void CXXXDlg::OnButtonClick(UINT nID)
{
 int nIndex = nID - IDC_BUTTON_1;
 CString str;
 str.Format(_T("Index: %d"), nIndex);
 AfxMessageBox(str);
}

方式二:

在VC编程的MFC中,可以通过向程序添加ON_COMMAND_EX消息映射宏(即扩展消息映射宏)来实现对消息处理函数的共享。具体的示例程序代码如下:
.......
//扩展消息映射宏
ON_COMMAND_EX(IDC_BUTTON1,OnShared)
ON_COMMAND_EX(IDC_BUTTON2,OnShared)
ON_COMMAND_EX(IDC_BUTTON3,OnShared)
.......
//共享的消息处理函数
void CSafe::OnShared(UINT id)
{
switch(id)

转载于:https://www.cnblogs.com/tinaluo/p/9670081.html

你可能感兴趣的:(MFC为多个控件绑定同一个函数)