1. 程式人生 > >MFC 多個控制元件用同一個訊息響應函式

MFC 多個控制元件用同一個訊息響應函式

最近做一個小工具,裡面用到很多的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
功能:獲取這個視窗當前處理的訊息的指標。 語法: static const MSG* PASCAL GetCurrentMessage(); [1] 返回值: 返回一個指向MSG結構的指標,該結構中包含了視窗當前處理的訊息。