星期一, 1月 28, 2008

[MFC] 一次Double Click 所包含的滑鼠訊息到底是哪些?

根據實驗所得,一次Doulbe Click包含 一次Down、一次Double Click以及兩次Up訊息。

利用Spy++得到的結果也是一樣。順序是"Down -> Up -> Double Click -> Up" 。

經過實際測試程式後,發現應該是Windows根據滑鼠第二次Click跟上一次Click的位置有無相同與時間有無接近來決定發出哪一個訊息,如果都兩個條件都成立則第二次Click就不會發出Button Down訊息,而改發DoubleClick訊息,但Button Up訊息則不受影響。所以說,如果視窗接收到Double Click訊息,就表示前面一定已經發出一個Button Down訊息。

沒有留言: