您的位置:首页 > 娱乐 > 八卦 > 3.6 上下文菜单

3.6 上下文菜单

2024/10/5 18:30:18 来源:https://blog.csdn.net/weixin_48731683/article/details/140939817  浏览:    关键词:3.6 上下文菜单

上下文菜单

上下文菜单就是常见的右键菜单(弹出式菜单)。

  • 显示上下文菜单,阻塞函数
BOOL TrackPopupMenu(HMENU hMenu,	//菜单句柄UINT uFlags,	//显示方式int x,		//水平位置,屏幕坐标系int y,		//垂直位置,屏幕坐标系UINT nReserved,	//保留,必须为0HWND hWnd,		//处理菜单消息的窗口句柄const RECT *prcRect		//定义菜单的显示区域,通常设置为NULL,忽略即可
);
  • 返回值

如果用户选择了菜单项,返回所选菜单项的ID。如果未选择菜单项或发生错误,返回0。

在这里插入图片描述
从上图可以看出,使用WM_RBUTTONUP鼠标右键弹起消息来制作右键菜单是不专业的,当然也有方法将客户区坐标系改为屏幕坐标系,这里我们直接讲更好的消息

WM_CONTEXTMENU

定义

  • 用于通知窗口用户希望显示上下文菜单
  • WM_CONTEXTMENU消息是在WM_RBUTTONUP消息之后产生

功能
WM_CONTEXTMENU消息在以下情况下被发送:

  • 用户在窗口中右键单击鼠标。
  • 用户按下Shift+F10键。
  • 用户按下应用程序键(某些键盘上可用)。

该消息的主要作用是请求显示与当前上下文相关的菜单。

参数

  • wParam: 包含用户右键单击的窗口的句柄。这可以是接收消息的窗口的子窗口。
  • lParam: 包含鼠标光标的坐标信息:
  • 低位字表示鼠标单击时光标的水平位置(以屏幕坐标为单位)。
  • 高位字表示鼠标单击时光标的垂直位置(以屏幕坐标为单位)。

在这里插入图片描述

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com