在OnDblClick之前忽略OnClick

时间:2016-07-31 19:59:37

标签: lazarus

我有一个带有OnCellClick事件的TDBgrid切换一个布尔值。

我希望能够使用OnDblClick启动另一个Form,但不希望OnCellClick更改布尔值。

如果没有以编程方式调用OnCellClick来恢复布尔值作为OnDblClick处理的一部分,那么在双击时是否有任何方法可以忽略OnCellClick?

我不想要弹出菜单或右键单击,因为这主要是在触摸屏设备上。

2 个答案:

答案 0 :(得分:1)

以下是TurboPower在VisualPlanIt组件中所做的事情:

删除OnClick处理程序。添加计时器。它的间隔长度应略长于双击的持续时间,即十分之几秒。在MouseDown事件中启动计时器。在计时器的OnTimer处理程序中,禁用计时器并执行常规OnClick事件中应发生的操作。如果在计时器处于活动状态时发生第二次单击,则必须双击。

此序列将单击与双击分开。然而,对我来说,这有点令人不安,因为正常的鼠标点击仅在短暂的延迟后才会看到反应。

答案 1 :(得分:0)

或者在CTRL-Click上打开表单。