我在使用clistctrl时,右击其元素希望弹出一个菜单,具有“定位、复制、删除、重命名、属性”功能。

首先处理弹出菜单,对clistctrl建立右击消息:ON_NOTIFY(NM_RCLICK, IDC_LIST, OnRclickList)

函数如下:

void CFinderDemoDlg::OnRclickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
// TrackPopupMenu只能处理弹出式菜单
CMenu menu_1;
menu_1.LoadMenu(IDR_MENU2);
CMenu* menu_2=menu_1.GetSubMenu(0);

CPoint   ptCursorPos; 
GetCursorPos(&ptCursorPos); 
CRect   rclist; 
m_ListCtrl.GetWindowRect(&rclist); 
if(rclist.PtInRect(ptCursorPos)) 

menu_2->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,ptCursorPos.x,ptCursorPos.y,this); 

*pResult = 0;
}

其中TrackPopupMenu仅仅能处理弹出式菜单,为了得到希望的菜单效果,在资源对话框中建立弹出式菜单,然后再该函数中提取子菜单

消息处理函数以定位为例:

消息: ON_COMMAND(ID_MENUITEMLOCATE, OnMenuitemlocate)

函数:

void CFinderDemoDlg::OnMenuitemlocate() 
{
int nIndex = m_ListCtrl.GetNextItem( -1, LVNI_SELECTED );
CString temp_1 = "/select," + m_ListCtrl.GetItemText(nIndex,1) + "\\" + m_ListCtrl.GetItemText(nIndex,0);
ShellExecute(NULL, "open", "explorer.exe", temp_1, NULL, SW_SHOWNORMAL);
}

完美解决了

如何使用TrackPopupMenu创建菜单相关推荐

  1. php创建菜单_php实现微信公众号创建自定义菜单功能的实例代码

    目的 创建自定义菜单,实现菜单事件. 首先获取Access_Token 接口: 我用的是测试号,修改APPID和APPSECRET,然后浏览器访问上面这个Url即可生成Access_Token 然后配 ...

  2. anaconda创建菜单失败

    20210508 六 版本安装Anaconda3-2019.07-Windows-x86_64.exe报错 anaconda创建菜单失败 到官网下载最新版本问题解决Anaconda3-2020.11- ...

  3. 如何使用Extentions创建菜单

    Eclipse版本:3.4 Eclipse可以在plugin.xml中创建菜单,可是网上资料不多,经过一番艰苦研究,终于发现了使用Extentions创建菜单的方法,步骤如下: 1. 创建菜单Exte ...

  4. python界面设置-PYTHON图形化操作界面的编程七__创建菜单

    PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...

  5. python函数做菜单_PYTHON图形化操作界面的编程七__创建菜单

    PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...

  6. Linuxshell之高级Shell脚本编程-创建菜单

    写在前面:案例.常用.归类.解释说明.(By Jim) 创建菜单 #!/bin/bash # testing the script clear echo echo -e "\t\t\tSys ...

  7. 2.odoo13之跟着官网做项目/实例(创建菜单,创建action,创建视图、搜索过滤器,分组)

    目录 1.创建菜单 2.创建动作,action 3.运行程序,创建数据 4.添加自定义列表视图(树视图) 5.添加表单视图 6.添加搜索视图 7.搜索视图的过滤器,以及搜索分组 1.创建菜单 在vie ...

  8. vue 递归创建菜单_如何在Vue中创建类似中等的突出显示菜单

    vue 递归创建菜单 by Taha Shashtari 由Taha Shashtari 如何在Vue中创建类似中等的突出显示菜单 (How to Create a Medium-Like Highl ...

  9. 微信java创建菜单_微信自定义菜单的创建(JAVA版)

    微信自定义菜单的创建与使用 需求 当微信公众号设置为开发者模式,想要自己创建和开发菜单的话,就需要自己调用微信创建菜单的接口来创建菜单了.创建菜单之后,如果需要迫切的看到效果,有时候需要取消关注-从新 ...

最新文章

  1. 计算机视觉顶会上的灌水文都有哪些特征?
  2. java中unknown source_java中GUI编程中的unknown source问题
  3. c语言五个整数排序,刚学c语言,老师让用if编一个五个数字从大到小的排序,有那个大神能帮我,谢谢啦...
  4. sed、awk、xargs正则表达式
  5. struts2中拦截器和过滤器的比较
  6. boost库shared_ptr实现桥接模式
  7. 一个用Shell脚本写的猜丁壳游戏
  8. vux radio 改造为 tree 代码片段
  9. java私有成员的访问_java – 使用私有成员或公共访问器的方法
  10. 大数据薪资一再飙升 学习大数据需要哪些基础?
  11. Asp.net1.0 升级 ASP.NET 2.0 的几个问题总结
  12. cutterman工具使用 0921
  13. python----动态规划
  14. can connect mysql not server_MySQL -- 配置文件my.cnf 的详细说明
  15. 进程的三个状态的转换
  16. jetty jndi mysql_jetty配置jndi数据源
  17. PyTorch入门(二)从零开始搭建一个神经网络
  18. ntko php,NTKO OFFICE文档控件
  19. [外星与文明]外星人的离开对地球有什么影响?
  20. 三维浮雕软件 linux,立体浮雕工具下载 Type3(立体浮雕软件) v4.6.0.0 免费安装版 下载-脚本之家...

热门文章

  1. 网络推广团队介绍3个网站文章的图片优化技巧!
  2. 选择深圳网络推广外包需要注意什么
  3. 手撸设计模式之-单例模式
  4. 2020.10.30--AI--炫酷曲线效果、纸片字体制作、空间立体字
  5. 计算机与音乐结合的论文题目,最新音乐本科毕业论文题目
  6. 猫晚网络再创记录,阿里云直播方案护航优酷2500万用户体验
  7. UE4 C++纯slate开发沙盒游戏(一) 菜单部分
  8. C++设计模式——门面模式(facade pattern)
  9. aspen变压吸附塔,基于Aspen Adsorption的乙醇变压吸附脱水工艺模拟
  10. 用广告配音器如何给广告进行配音