当前位置: 首页 > 编程笔记 >

MFC创建右键弹出菜单的方法

高海阳
2023-03-14
本文向大家介绍MFC创建右键弹出菜单的方法,包括了MFC创建右键弹出菜单的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了MFC创建右键弹出菜单的方法。分享给大家供大家参考。具体实现方法如下:

①、添加一个菜单资源,ID为IDM_RIGHTMENU。因为在显示右键菜单时顶级菜单是不显示的,所以可以给它设置任意文本。

②、给视类添加WM_RBUTTONDOWN消息,在该消息中处理右键弹出菜单。因为视类窗口始终覆盖在框架窗口之上,框架窗口接收不到鼠标消息,所以由视类捕获WM_RBUTTONDOWN消息。

void CMenuView::OnRButtonDown(UINT nFlags, CPoint point)

{

    // TODO: 在此添加消息处理程序代码和/或调用默认值

    CMenu menu;     menu.LoadMenuW(IDM_RIGHTMENU);//加载菜单资源     CMenu *pPopup=menu.GetSubMenu(0);     ClientToScreen(&point);//将客户区坐标转换为屏幕坐标

    //显示右键菜单,由视类窗口拥有。     pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);     //TrackPopupMenu的最后一个参数,可以为GetParent让父窗口既框架窗口拥有右键菜单,这样     //框架类窗口获得了对右键菜单中菜单项的命令响应,     CView::OnRButtonDown(nFlags, point); }

③、为右键菜单项添加命令消息响应函数(略)。

希望本文所述对大家的基于MFC的VC++程序设计有所帮助。

 类似资料:
  • 当用户在网页中点击鼠标右键后,会唤出一个菜单,在上面有复制、粘贴和翻译等选项,为用户提供快捷便利的功能。Chrome也将这里开放给了开发者,也就是说我们可以把自己所编写的扩展功能放到右键菜单中。 要将扩展加入到右键菜单中,首先要在Manifest的permissions域中声明contextMenus权限。 "permissions": [ "contextMenus" ] 同时还要在i

  • mui框架内置了弹出菜单插件,弹出菜单显示内容不限,但必须包裹在一个含.mui-popover类的div中,如下即为一个弹出菜单内容: <div id="popover" class="mui-popover"> <ul class="mui-table-view"> <li class="mui-table-view-cell"><a href="#">Item1</a></li

  • 本文向大家介绍Jquery EasyUI Datagrid右键菜单实现方法,包括了Jquery EasyUI Datagrid右键菜单实现方法的使用技巧和注意事项,需要的朋友参考一下 最近在学Jquery EasyUI,现在来说一说EasyUI的DataGrid,一般当我们在实现前端界面的时候,经常在DataGrid的上面或者后面加一些按钮,方便用户进行一些添加,删除,编辑等功能 用户在每次使用的

  • 函数名称:弹出电源键菜单 函数功能: 显示电源键菜单 函数方法 keycode.power() 注意事项 部分设备可能会出现无效的问题,已知模拟器调用此命令可能会失效。 目前积木编程函数和触动精灵函数不通用,请仔细查看本手册,此手册中函数仅支持积木编程,不支持触动精灵,同理请勿将触动精灵函数在积木编程运行。

  • 问题内容: 我当前正在通过右键单击实例化并将其位置设置为鼠标位置的位置来创建右键单击上下文菜单。是否有更好的方法? 问题答案: 您可能正在手动调用菜单。这会导致菜单中出现一些令人讨厌的越野车行为。 该方法处理所有需要发生的事情(在鼠标悬停时突出显示事情,并在必要时关闭弹出窗口),其中使用只是显示菜单而无需添加任何其他行为。 要进行右键单击弹出菜单,只需创建一个。 然后,您所要做的就是向要弹出菜单的

  • 本文向大家介绍vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单,包括了vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单的使用技巧和注意事项,需要的朋友参考一下 今天分享的不是技术,今天给大家分享个插件,针对现有的vue右键菜单插件,大多数都是需要使用插件本身自定义的标签,很多地方不方便,可扩展性也很低,所以我决定写了一款自定义指令调用右键菜单(vuerightmenu)   安装