Win32 API WM_COMMAND

示例

在以下情况下发送到窗口过程:

  • 用户从菜单中选择一个项目

  • 控件向其父窗口发送通知

  • 加速器按键翻译

讯息来源HIWORD(wp)LOWORD(wp)lp
菜单0菜单ID(IDM_ *)0
加速器1加速ID(IDM_ *)0
控制通知码控制编号控制窗口的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);
}