在开发中会用到右键菜单,我们来一起学习一下。

假如,我们现在已经准备好了列表,就差右键处理了。

1、在资源视图中的添加一个MENU,如图

2、给要添加右键菜单的ListCtrl子类,添加消息

按 ctrl + shift + x  打开类向导,选择要添加的子类,在消息中找到 =NM_RCLICK消息,双击=NM_RCLICK,就会在右侧出现OnNMRClick,然后点击编辑代码即可

3、编辑代码

void CRunSerListCtr::OnNMRClick(NMHDR *pNMHDR, LRESULT *pResult)
{LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);// TODO:  在此添加控件通知处理程序代码*pResult = 0;NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;if (pNMListView->iItem != -1){DWORD dwPos = GetMessagePos();CPoint point(LOWORD(dwPos), HIWORD(dwPos));CMenu menu;//添加线程操作VERIFY(menu.LoadMenu(IDR_MENU1));            //这里是我们在1中定义的MENU的文件名称CMenu* popup = menu.GetSubMenu(0);ASSERT(popup != NULL);popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);//下面的两行代码主要是为了后面的操作为准备的//获取列表视图控件中第一个被选择项的位置  POSITION m_pstion = GetFirstSelectedItemPosition();//该函数获取由pos指定的列表项的索引,然后将pos设置为下一个位置的POSITION值m_nIndex = GetNextSelectedItem(m_pstion);CString str;str.Format(L" m_nIndex = %d", m_nIndex);MessageBox(str, str, 0);}}

测试效果

转载于:https://www.cnblogs.com/ye-ming/p/7107625.html

ListCtrl添加右键菜单(ListCtrl类里编辑,给ListCtrl 发送NM_RCLICK消息)相关推荐

  1. 在(CListView)列表视图中添加右键菜单的方法

    使用弹出式菜单(PopMenu) 弹 出式菜单(PopMenu)大家都熟悉,在WIN98的桌面上单击鼠标右键弹出的菜单就是弹出式菜单.通常情况下,弹出式菜单在鼠标右键单击时弹出,当 然,也可以根据需要 ...

  2. merlin.acs的使用方法 merlin.acs添加右键菜单

    阅读全文:http://www.cckan.net/forum.php?mod=viewthread&tid=39 看看这个怎么样吧 直接看代码吧我就不多说了 1.先下载一下这个控件 吧 网上 ...

  3. tkinter向文本框里加内容_给tkinter文本框添加右键菜单

    给tkinter文本框添加右键菜单 需求:直接右键点击使用tkinter创建的文本框是不会弹出菜单的.我们需要实现右键点击tkinter框架下的Entry对象.Text对象后弹出右键菜单可复制.粘贴和 ...

  4. 非管理员用户添加右键菜单(管理员也适用)

    目录 背景 解决办法 总结:把其他教程中的HKEY_CLASSES_ROOT替换为HKEY_CURRENT_USER\SOFTWARE\Classes即可 背景 网上大多数教程添加右键菜单的方法都需要 ...

  5. chrome添加右键菜单收藏CSDN文章到我的博客

    需求: 看到好的文章时,想收藏,但是chrome的收藏夹不支持搜索(虽然有其他插件可以用),收藏的多了以后不好找,而且万一某一天浏览器或系统重装,而没有登录同步数据或者没有导出由的话这些收藏就会丢失. ...

  6. Windows10 为指定类型文件添加右键菜单项并传递文件名,点击后调用python脚本进行处理

    Windows10 为指定类型文件添加右键菜单项并传递文件名,点击后调用python脚本进行处理 需求举例: 在.torrent文件上点击右键时,右键菜单上显示 [更新文件名称],点击此项调用相应的p ...

  7. 通过注册表添加右键菜单选项

    通过注册表添加右键菜单选项,可以通过编写注册表文件实现,也可以直接在系统注册表中新建注册表. 以前一篇<使用 YUI Compressor 批量压缩JS/CSS>中的注册表为例. 一.通过 ...

  8. go.js 节点添加右键菜单

    公司项目开发时,采用了go.js绘制节点关系图,需添加右键功能,采坑经历分享. go.js API文档不太好懂,开发功能时,建议从实例入手,然后再去看API文档查找相关属性用法 就很容易理解了.如图: ...

  9. fineui grid ajax,基于FineUI Grid控件添加右键菜单

    FineUI官方Demo上一直没有Grid右键菜单的实现,其实从4.1.x的版本开始,允许添加自定义的事件监听(Listeners),所以要实现这个功能已经相当容易了. ExtJs右键菜单有很多种,对 ...

最新文章

  1. 利用Oracle VPD实现行级安全保护(二)
  2. 怒爬某破 Hub 站资源,只为撸这个鉴黄平台!
  3. 一觉醒来,借呗竟然被封了
  4. 又到618,.NET 千万级秒杀架构到底有多牛
  5. 架构设计 | 分布式体系下,服务分层监控策略
  6. 【英语学习】【Level 07】U01 Making friends L1 New kid on the block
  7. python堆排序的库_Python:堆排序
  8. 轮播图的3个常见bug,即处理bug思路及其解决办法
  9. 数据挖掘学习07 - 《数据挖掘导论》第二章:数据
  10. Android Studio 控制台输出中文乱码
  11. autojs刷网课之一、刷视频篇
  12. 阿里云服务器怎么重装系统?
  13. VC++公安指纹识别系统
  14. 找不到sct文件解决方法:Could not open scatter descript
  15. directX学习系列8 颜色融合(转)
  16. 游戏手柄计算机,电脑游戏手柄怎么设置 电脑游戏手柄设置步骤【图文】
  17. 计算机应该更新,电脑更新要多久
  18. Datastage,Informatica,Kettle
  19. vuforia for unity 入门教程
  20. 自动驾驶系统进阶与项目实战(十)基于PointPillars的点云三维目标检测和TensorRT实战(1)

热门文章

  1. WPF 问题 PresentationCore.dll!System.Windows.Media.Composition.DUCE.Channel.SyncFlush() 分析
  2. Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
  3. Ext1.X的CheckboxSelectionModel默认全选之后不允许编辑的BUG解决方案
  4. jQuery的筛选选择器
  5. 老生常谈.优化linux内核参数
  6. python之pydev安装
  7. IIS 支持 php
  8. 使用MONGODB 集群的OPLOG 日志进行数据恢复
  9. 配置DATAGUARD 时关于 LOG_FILE_NAME_CONVERT配置错误的解决
  10. 增加数据库控制文件命令