在MFC的CListCtrl中怎么实现当鼠标在一定的列双击时执行特定的函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在MFC的CListCtrl中怎么实现当鼠标在一定的列双击时执行特定的函数?相关的知识,希望对你有一定的参考价值。

有一个CListCtrl控件:
CListCtrl pListCtrl;
在该控件里有两列,分别是“学号”、“姓名”。现在我想要在它下面的记录(行)中使用鼠标双击,如果我鼠标双击时的列位置在“姓名”下,就对我选中的本条记录(行)的名字进行操作(函数fun1);如果我鼠标双击时的列位置在“学号”下,就对我获得的本条记录(行)的学号传递给另外的类(函数fun2)。请问要怎么做呢?(最好有示例代码)
急用,高分悬赏。那位大侠知道的可以在“其他编程语言”区回答我的问题,因为第1次问的时候没注意,选错了分类,所以在这边再重复问一下,希望大侠们不吝指教!

看兄台提问我大概了解是怎么回事了
如题:你应该是知道怎么取得当前双击的行了是吧,那我就不用再说了

现在需要取得列

操作列头的方法你应该知道吧,我就当你是知道,不知道去网上查吧

下面说下方法
取得列头的指针后,来算出每列的宽度。然后判断鼠标的的坐标,就可以得出鼠标所在的列了,然后根据所在行来确定具体哪一个格...

我以前做过。。不过时间太长了,总之思路是这样的,代码部分你根据我的思路做就行了,不会的就自己查查MSDN吧,思路有了就好办了.

虽然麻烦点不如你做成自己的类(写个子类)以后就方便了
参考技术A 添加右键响应

测试鼠标所在区域是否在某列之下,只有两列应该行容易判断的

http://hi.baidu.com/maxlcl/blog/item/7e36d22a6e358298033bf644.html
http://hi.baidu.com/maxlcl/blog/item/8e22b000057efc84e950cdc8.html

参考资料:上面的网址是《Win32控件的通知消息》

参考技术B 选中控件,右键添加消息,具体名字我忘了,大意是ON DOUBLE CLICK ,然后VS会替你安排一切的。 参考技术C 设置一个隐藏的Editbox,当双击时让该EditBox显示在双击项的上方。。。其他方法偶也不晓得了

以上是关于在MFC的CListCtrl中怎么实现当鼠标在一定的列双击时执行特定的函数?的主要内容,如果未能解决你的问题,请参考以下文章

MFC CListCtrl 右键单击​​标题

MFC CListCtrl空间中,如果在鼠标点击某一个Item时,获得该Item的内容。

在 MFC 中更改 CListCtrl 整列的背景颜色

关于CListCtrl和CTreeCtrl的状态图像的问题 相当初级 MFC高手进来

如何在 MFC CListCtrl 中实现“点击并按住”行为?

MFC中单击button并随鼠标移动怎么实现?