用户在处理鼠标控制事件时总有下面的疑问:
鼠标按下激发事件?
鼠标抬起激发事件?
还是鼠标持续按下期间激发事件?
点击与抬起不是问题核心,节点是按下与拖拽的临界区分
下面是解决思路:(以鼠标左键为例)
定义临界时间 time = 200ms
定义鼠标状态 bool = FALSE
定义捕获物体 object = NULL
鼠标按下后捕获物体并激活计时器及延时器,置鼠标状态为TRUE
延时time时间后,当bool不为FALSE时,激活拖拽事件
鼠标抬起停止计时器,返回Elapsed Time
检测Elapsed Time < time 则执行点击事件
![](http://hi.csdn.net/attachment/201109/21/0_13165761550exx.gif)