WM_COMMAND是从菜单选择一个索引、控件发送消息到父窗口、加速键被翻译时的消息,
WM_COMMAND的原型是:
WM_COMMAND wNotifyCode = HIWORD(wParam);
wID = LOWORD(wParam);
hwndCtl = (HWND) lParam;
wNotifyCode = HIWORD(wParam); 取高字节,如果该消息是从一个加速器,这个参数1 。如果该消息是从菜单中,此参数为0
wID = LOWORD(wParam); 取低字节,菜单,控件,加速键的ID
hwndCtl = (HWND) lParam;如果该消息是来自控件的,则处理和控制发出信息。否则,这个参数是无效的
那么
switch (wmID)
{
case IDM_ABOUT:
...
break;
case IDM_EXIT:
...
break;
default:
return DefWindowProc(hWnd,message,wParam,lParam);
}
这个消息响应就是响应来自有ID的菜单,控件,加速键的消息
case IDM_ABOUT:
...
break;
case IDM_EXIT:
...
break;
default:
return DefWindowProc(hWnd,message,wParam,lParam);
IDM_ABOUT:这个是响应ID为IDM_ABOUT的菜单,控件,或加速键消息
DefWindowProc(hWnd,message,wParam,lParam);
这个函数是系统提供的一个窗口消息处理函数,使系统对用户的每个没有处理的消息进行默认处理,是任何发送到该窗口的消息均能得到合适的处理
建议:如果你对这些消息不了解的,建议你查看MSDN
VC 取高低字节的具体含义
最新推荐文章于 2023-02-17 18:38:02 发布