WM_CONTEXTMENU消息
通知窗口用户希望显示上下文菜单。 用户可能单击了鼠标右键 (在窗口中右键单击) ,按下了 Shift+F10 或按下了应用程序键, (上下文菜单键) 某些键盘上可用。
#define WM_CONTEXTMENU 0x007B
参数
-
wParam
-
用户在其中右键单击鼠标的窗口的句柄。 此窗口可以是接收消息的窗口的子窗口。 有关处理此消息的详细信息,请参阅“注解”部分。
-
lParam
-
低序字指定鼠标单击时光标的水平位置(以屏幕坐标为单位)。
高序字指定鼠标单击时光标的垂直位置(以屏幕坐标为单位)。
返回值
没有返回值。
备注
窗口可以通过使用 TrackPopupMenu 或 TrackPopupMenuEx 函数显示快捷菜单来处理此消息。 若要获取水平和垂直位置,请使用以下代码。
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
如果窗口不显示快捷菜单,则应将此消息传递给 DefWindowProc 函数。 如果窗口是子窗口, DefWindowProc 会将消息发送给父窗口。 否则,如果指定位置位于窗口描述文字,DefWindowProc 将显示默认快捷菜单。
DefWindowProc 在处理WM_RBUTTONUP或WM_NCRBUTTONUP消息或用户键入 SHIFT+F10 时生成WM_CONTEXTMENU消息。 当用户按下并释放 VK_APPS 键时,也会生成 WM_CONTEXTMENU 消息。
例如,如果上下文菜单是从键盘生成的,如果用户键入 SHIFT+F10,则 x 坐标和 y 坐标为 -1,应用程序应在当前所选位置而不是 (xPos 位置显示上下文菜单,yPos) 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|