关于MFC的单击双击判断

搞了一个下午,发现老是在OnLButtonDblClk后引发OnLButtonUp,本来在OnLButtonDblClk后有改状态,后来发现老是被OnLButtonUp改回来,尤其郁闷的是调试的时候又不触发OnLButtonUp,好好得非常正常,真是火大,后来查了一下google,发现http://topic.csdn.net/t/20040630/10/3133484.html

如果在窗口风格中未包含CS_DBLCLKS,而使用者在短时间内双击了鼠标按键,那么窗口消息处理程序会接收到下面这些消息:      
     
  WM_LBUTTONDOWN      
     
  WM_LBUTTONUP      
     
  WM_LBUTTONDOWN      
     
  WM_LBUTTONUP      
     
 如果您的窗口类别风格中包含了CS_DBLCLKS,那么双击时窗口消息处理程序将收到如下消息:      
     
  WM_LBUTTONDOWN      
     
  WM_LBUTTONUP      
     
  WM_LBUTTONDBLCLK      
     
  WM_LBUTTONUP      
     
 WM_LBUTTONDBLCLK消息简单地替换了第二个WM_LBUTTONDOWN消息。

呵呵,简单得把OnLButtonUp代码改到OnLButtonDown里就好了。反正只出发一次down,在DbClk后不用担心被再改回来。

网络上还写了判断双击间隔的方法……不好吧,如果一些人手指反映就是慢呢,比如我妈,双击总是达不到系统要求!^&^不过最近她倒是有进步!

哈,纪念一下这个下午!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章