關於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後不用擔心被再改回來。

網絡上還寫了判斷雙擊間隔的方法……不好吧,如果一些人手指反映就是慢呢,比如我媽,雙擊總是達不到系統要求!^&^不過最近她倒是有進步!

哈,紀念一下這個下午!

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