WM 命令
发送到窗口过程时:
- 用户从菜单中选择一个项目
- 控件向其父窗口发送通知
- 加速键击被翻译
消息来源 | HIWORD(WP) |
LOWORD(WP) |
唱片 |
---|---|---|---|
菜单 | 0 | 菜单 ID(IDM_ *) | 0 |
加速器 | 1 | 加速 ID(IDM_ *) | 0 |
控制 | 通知代码 | 控制 ID | 控制窗口的 HWND |
例如,在记事本中,当用户单击“文件 - >打开”时,将显示一个对话框以允许用户打开文件。菜单项在窗口过程的 WM_CREATE 消息中处理,如下所示:
LRESULT CALLBACK winproc(HWND hwnd, UINT wm, WPARAM wp, LPARAM lp)
{
switch (wm) {
case WM_COMMAND:
switch (LOWORD(wp) {
case ID_FILE_OPEN:
/* show file open dialog */
break;
case ID_FILE_NEW:
/* create new instance */
break;
}
return 0;
}
return DefWindowProc(hwnd, wm, wp, lp);
}