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

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

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

现在需要取得列

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

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

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

虽然麻烦点不如你做成自己的类(写个子类)以后就方便了

添加右键响应

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

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

选中控件,右键添加消息,具体名字我忘了,大意是ON DOUBLE CLICK ,然后VS会替你安排一切的。

设置一个隐藏的Editbox,当双击时让该EditBox显示在双击项的上方。。。其他方法偶也不晓得了