请教ListView怎样识别在Column上按下了鼠标

wangh2122 2004-05-06 12:25:50
在Column上按鼠标键不会发生MouseDown等事件,而我想在Column上按右键弹出一个菜单,应该怎么做呢?
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
supergreenbean 2004-05-07
  • 打赏
  • 举报
回复
呵呵,说的没错,用子类处理很轻松就解决了

1.用LVM_GETHEADER获得ListView中ColumnHeader的句柄
2.用SetWindowLong子类处理ColumnHeader
3.拦截WM_RBUTTONUP之类的消息,然后弹出你希望的菜单
wangh2122 2004-05-07
  • 打赏
  • 举报
回复
果然还是必须要用这个才行,那么再请问下

1.用LVM_GETHEADER获得ListView中ColumnHeader的句柄

这一步应该怎么做呢?可以详细讲解一下吗?
supergreenbean 2004-05-07
  • 打赏
  • 举报
回复
用hHeader=SendMessage(ListView1.hWnd,LVM_GETHEADER,0&,ByVal 0&)
wangh2122 2004-05-06
  • 打赏
  • 举报
回复
不行,ColumnClick是点击Column时的事件,单击右键是不会触发的
tztz520 2004-05-06
  • 打赏
  • 举报
回复
它是触发这个事件

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
MsgBox "ok"
End Sub
daisy8675 2004-05-06
  • 打赏
  • 举报
回复
Private Sub lvwShippers_MouseDown(Button As Integer, Shift As Integer, X As Single, y As Single)

' 按下滑鼠右鍵。
If Button = 2 Then
PopupMenu mnuEdit
End If

End Sub

在column上是可以抓的。但是直接抓是抓不到,好象用子類可以處理。要試下去

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧