找回密码
 加入
搜索
查看: 3270|回复: 2

[GUI管理] ListView中如何区别是右击列标题还是item?

[复制链接]
发表于 2010-7-6 09:51:58 | 显示全部楼层 |阅读模式
为了在item右键弹出不同的菜单,在$NM_RCLICK事件中根据item的不同修改了菜单的数据
但如果右击一个item后,又去列标题上右击,就会弹出本属于上一个item的菜单

1.好像没发现右键菜单弹出事件,所以没法根据坐标判断下面是否是个item
2.右击列标题不会引发$NM_RCLICK,在这里处理也不可行
3.$LVN_COLUMNCLICK只响应左键,在这里处理也不可行
因此晕了,想问问有谁遇到过这样的问题,最后怎么解决的。

我想来想去,有一个思路。
如果可以在$NM_RCLICK中建立全新的右键菜单给item用,而每一个菜单项点击事件后都删除整个菜单。这样再去右击列标题就没菜单可弹出了。唯独是在item上弹出菜单后若用户不点击任何菜单项,直接换个地方再右键……卡这了。
 楼主| 发表于 2010-7-6 16:27:33 | 显示全部楼层
好像没什么人看嘛,如果有谁确实遇到过,但挺麻烦的,也请说一声,我就放弃了。
查到C是可以实现的,因为有个菜单关闭的事件,可以在这个事件里重新定义空菜单,到Item右击时再定义有内容的菜单。
发表于 2010-7-7 19:44:26 | 显示全部楼层
我原来也遇到过这个问题,确实很头痛,我能想到唯一的办法就是用坐标来判断是否在标题上,如果要这样还得自己用皮肤才方便,否则不同的主题标题栏的高度也不一样
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 08:13 , Processed in 0.074499 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表