2009-09-17 18 views
3

我習慣於使用Windows框架,爲鼠標點擊或鼠標雙擊等事件提供事件。點擊Windows結構的事件(即,Windows發送WM_DOUBLECLICK或類似的消息),還是發送WM_MOUSEDOWN和WM_MOUSEUP給應用程序,然後應用程序做一些數學運算來決定事件是點擊還是其他?鼠標是單擊WM_ *消息還是上下消息的組合?

+0

查找CS_DBLCLKS – AbstractDissonance 2016-07-05 23:38:22

回答

7

根據MSDN documentation消息的正確順序,你會爲雙擊事件看到的是 - WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONDBLCLK和WM_LBUTTONUP

+0

謝謝,這看起來像正確的序列。 – 2009-10-13 14:57:36

1

它是通過WindowProc()發送的消息的組合。消息是WM_LBUTTONDOWN,WM_LBUTTONDBLCLK,WM_LBUTTONUP用於鼠標左鍵,WM_MBUTTONDOWN等等用於中鍵,WM_RBUTTONDOWN等等用於鼠標右鍵。有關更多信息,請參閱位於MSDN的Windows SDK。

0

用鼠標點擊而不是Windows消息的組合,但它可以導致,取決於點擊的應用程序。 有窗口輸入窗口消息之間的巨大差異,因爲它們只適用於某些應用,在許多不同的方式使用的工具,如在MSDN上解釋說:

我還提供了一個在我的問題中清楚地顯示差異的示例。How could it work to use multiple cursors on one Windows client?它顯示通過單擊發送什麼消息,並且Windows消息通常不足以模擬鼠標點擊,但如果它們是,它們如何使用。