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 [仅限桌面应用]
标头
Winuser.h (包括 Windows.h)

另请参阅

引用

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

TrackPopupMenu

TrackPopupMenuEx

WM_NCRBUTTONUP

WM_RBUTTONUP

概念性

菜单