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

wangh2122 2004-05-06 12:25:50
在Column上按鼠标键不会发生MouseDown等事件,而我想在Column上按右键弹出一个菜单,应该怎么做呢?
...全文
95 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上是可以抓的。但是直接抓是抓不到,好象用子類可以處理。要試下去
内容概要:本文系统梳理了多个科研领域的前沿研究与技术实现,重点涵盖FDTD方法中的完美匹配层(PML)研究,以及Matlab/Simulink在电磁、电力、控制、通信、信号处理、图像处理、路径规划、能源系统优化等领域的仿真与算法实现。文中列举了大量基于Matlab和Python的科研案例,如风电功率预测、负荷预测、无人机三维路径规划、电池系统故障诊断、雷达模拟、通信编码、微电网优化调度等,并强调结合智能优化算法(如粒子群、遗传算法、深度学习等)提升系统性能。同时,提供了丰富的代码资源与仿真模型,涵盖永磁同步电机控制、逆变器设计、多智能体任务分配、虚拟电厂调度等复杂系统,助力科研人员快速开展复现实验与创新研究。; 适合人群:具备一定编程基础,熟悉Matlab/Python工具,从事电气工程、自动化、通信、人工智能、新能源、控制科学等相关领域研究的研发人员及研究生。; 使用场景及目标:① 学习并实现FDTD仿真中的PML边界条件以有效抑制数值反射;② 掌握Matlab/Simulink在多物理场建模、控制系统设计与优化算法中的综合应用;③ 借助提供的代码资源完成科研复现、课程设计、竞赛项目或工程原型开发; 阅读建议:此资源以科研实战为导向,不仅提供理论方法,更强调代码实现与仿真验证。建议读者结合自身研究方向,按目录顺序查阅相关模块,下载配套代码进行调试与二次开发,以达到学以致用、融会贯通的目的。

1,453

社区成员

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

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