.OnCommand是响应WM_COMMAND消息的,一般是响应控件和菜单的命令消息时使用。
- 如果 WM_COMMAND 来自控件的话 lParam 就是发送这个 WM_COMMAND 消息的控件的句柄,否则为 0 。
使用
既然知道 wParam 的低位表示菜单项、控件、或者快捷键的 ID 值,那么我们在响应按钮点击时,可以不用逐个编写按钮消息映射及消息响应函数,而直接在 onCommand 内处理:
BOOL CDlgTest::OnCommand(WPARAM wParam, LPARAM lParam)
{
switch(LOWORD(wParam))//wParam的低字是控件ID,lParam是发送这个WM_COMMAND消息的控件的句柄。
{
case IDC_BTN_BEGIN:
{
AfxMessageBox(_T("开始"));
break;
}
case IDC_BTN_END:
{
AfxMessageBox(_T("结束"));
break;
}
}
return CDialog::OnCommand(wParam, lParam);