根据Delphi TListView控件中鼠标所在的列,显示不同的弹出菜单?

时间:2012-11-21 00:40:25

标签: delphi listview popupmenu

我有一个具有TJvListView控件的Delphi 6应用程序。我通过控件的PopupMenu属性将弹出菜单绑定到该控件。我想要做的是显示一个不同的弹出菜单,根据用户右键单击鼠标时使用哪一列,如果当前列不需要,则附加选项根本不显示弹出菜单。我怎么能这样做?

感谢Remy Lebeau在in-place editing in a TListView上提供的这个详细样本,我知道除了一条皱纹之外鼠标的行和列。在退出弹出菜单后,我确定当前行和列的鼠标按下事件

我现在需要知道两件事。首先,如何在鼠标右键单击弹出菜单之前显示之前触发的事件,这样我就可以记录当前列表视图的行和列,如果我愿意则禁止弹出菜单,第二个,我如何根据当前列显示不同的弹出窗口。我希望避免编写一些迷你表单,而不是使用TListView PopupMenu属性和支持代码。有没有一个简单的解决方案,也许我应该围绕TJvListView创建一个子类中的一些花哨的步法?

1 个答案:

答案 0 :(得分:0)

您可以在mousemove中执行检测而不是mousedown / Click并根据需要更改弹出菜单。 您也可以删除任何弹出菜单,并根据需要通过mousedown中的p.pupup调用希望。