最近做一个小工具,里面用到很多的combox控件,为每个控件都添加一个消息响应函数感觉不太方便,太重复了,于是都调用同一个响应函数,但是问题来了,检测控件变化的函数没有参数,要在响应函数里边找到对应的ID,要花些心思,功夫不负有心人,解决方法如下:
void CSQliteMFCDlg::OnCbnSelchangeComboxAny()
{
// TODO: 在此添加控件通知处理程序代码
UINT ID = LOWORD(GetCurrentMessage()->wParam);
switch(ID)
{
case IDC_COMBO1:
break;
case IDC_COMBO2:
break;
case IDC_COMBO3:
break;
case IDC_COMBO4:
break;
case IDC_COMBO5:
break;
case IDC_COMBO6:
break;
case IDC_COMBO7:
break;
case IDC_COMBO8:
break;
case IDC_COMBO9:
break;
case IDC_COMBO10:
break;
case IDC_COMBO11:
break;
default:
break;
}
}
GetCurrentMessage
功能:获取这个窗口当前处理的消息的指针。
语法:
返回值:
返回一个指向MSG结构的指针,该结构中包含了窗口当前处理的消息。