我看到BN_CLICKED和BN_DBLCLK通知消息爲按鈕控件。但我怎麼會捕捉任何按鈕控制的右鍵單擊消息?右鍵點擊按鈕
Q
右鍵點擊按鈕
4
A
回答
2
0
NM_RCLICK已發送,因此請仔細查看窗口消息。
您可以檢查reciving BN_CLICKED,看是否NM_RCLICK甚至WM_RBUTTONDOWN
1
BN_CLICKED是按鈕本身發送到按鈕的父窗口的通知消息。要攔截WM_RBUTTONDOWN等消息,您需要繼承按鈕的子類,因爲這些消息是從Windows本身發送到按鈕窗口的消息。請參閱Safe Subclassing in Win32中的名爲「實例子類」的部分
0
不是一個真正的答案,但我認爲您可能能夠捕獲按鈕上的上下文菜單。 (不知道我頭頂的事件)。如果你可以捕捉上下文菜單按下按鈕,那麼它就像右鍵單擊一樣。
BUTTON down不是一條好路徑。只有當用戶按下按鈕時纔會捕獲點擊。嘗試按下按鈕,然後將手指從按鈕上移開,然後將鼠標移開。不會爲該按鈕記錄向上筆畫,也不會點擊。
我再次知道這不是一個答案,但它可能是一個線索。我是一名掌上電腦的人,所以大多數時候我沒有「鼠標右鍵」。
1
手柄WM_CONTEXTMENU
。這在處理右鍵鼠標消息方面的優點是您的用戶將能夠使用鍵盤等價物來右鍵單擊。
0
這是一個古老的問題,但就我而言,仍然沒有令人滿意的答案。我面臨同樣的問題,發現接受的答案根本行不通 - 在我能夠接觸到他們之前,所提及的信息被攔截;我根本無法使用WM_RBUTTONDOWN等。
所以來這個問題的人真的應該知道this solution,它涉及子類按鈕,處理子類中的鼠標右鍵消息,使用它們發送NM_RCLICK消息回到父窗口。
相關問題
- 1. Excel 2007-VBA,右鍵單擊按鈕
- 2. Visual C#窗體右鍵單擊按鈕
- 3. 彈出按鈕右鍵單擊+ WPF
- 4. Visual C++檢測右鍵單擊按鈕
- 5. 在右鍵單擊樣式WPF按鈕
- 6. 右鍵點擊jquery
- 7. 右鍵點擊JButton
- 8. 右鍵點擊QPushButton
- 9. 右鍵點擊JFreeChart
- 10. Flash:AS3:按鈕點擊以觸發右箭頭鍵?
- 11. Excel VBA:切換按鈕只能在右鍵點擊工作
- 12. Excel VBA添加右鍵點擊按鈕來加入
- 13. Excel右鍵單擊 - 右鍵單擊選項按鈕上的「分配宏」
- 14. jQuery/Javascript:點擊正常點擊右鍵?
- 15. 右鍵單擊一個按鈕可以增加AppBar而不是點擊右鍵事件
- 16. 防止按鍵點擊按鈕點擊即使在vb6中
- 17. 在Gtk Python中將按鍵點擊到按鈕點擊
- 18. 先進的右鍵單擊功能 - 點擊並按住,顯示按鈕,在發佈點擊什麼是懸停
- 19. AutoHotKey點擊鼠標右鍵也可以獲得一個鍵盤按鈕
- 20. Highslide禁用右鍵點擊
- 21. 書籤 - 點擊右鍵?
- 22. 右鍵點擊JavaFX for Minesweeper
- 23. 檢測右鍵點擊RichEditableText
- 24. 在ClojureScript中點擊右鍵?
- 25. autohotkey ctrl + click =點擊右鍵
- 26. 右鍵點擊TDBGRID delphi2007
- 27. Javascript右鍵點擊彈出
- 28. ListView右鍵點擊VB.Net
- 29. 右鍵點擊在Silverlight
- 30. Android:按鈕點擊後隱藏鍵盤