根據實驗所得,一次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訊息。
星期一, 1月 28, 2008
星期三, 1月 23, 2008
[VC] 使用技巧
1.如何快速地規範程式碼縮排格式
選中所需要規範的程式碼,按shift+F8
2. 如何在Release狀態下進行調試
Project->Setting=>ProjectSetting對話框,選擇Release狀態。C/C++標籤中的Category選General,Optimizations選Disable(Debug),Debut info選Program Database。在Link標籤中選中Generate debug info復選框。
註:只是一個介乎Debug合Release的中間狀態,所有的ASSERT、VERIFY都不起作用,函數調用方式已經是真正的調用,而不查表,但是這種狀態下QuickWatch、調用隊列跟蹤功能仍然有效,和Debug版一樣。
選中所需要規範的程式碼,按shift+F8
2. 如何在Release狀態下進行調試
Project->Setting=>ProjectSetting對話框,選擇Release狀態。C/C++標籤中的Category選General,Optimizations選Disable(Debug),Debut info選Program Database。在Link標籤中選中Generate debug info復選框。
註:只是一個介乎Debug合Release的中間狀態,所有的ASSERT、VERIFY都不起作用,函數調用方式已經是真正的調用,而不查表,但是這種狀態下QuickWatch、調用隊列跟蹤功能仍然有效,和Debug版一樣。
星期二, 1月 22, 2008
[VC6] 如何解決一直重新全部編譯的問題
此問題的發生,在於鏈結動作出現問題。這是因為出現了未來文件(修改時間和修改時間比系統時間晚)的緣故。可以這樣處理:找到工程文件夾下的debug目錄,將創建和修改時間都比系統時間的文件全部刪除,然後再重新「Rebuild All」一次。
訂閱:
文章 (Atom)