我正在使用mfc ListCtrl,有無論如何知道選擇更改是由鼠標/鍵盤輸入引起的,而不是由程序更改引起的嗎?對於列表框,我的行爲與ON_LBN_SELCHANGE相同。謝謝由於鼠標/鍵盤輸入引起的MFC CListCtrl的選擇更改事件
2
A
回答
2
您可以使用GetKeyState()來確定是否按下了按鍵或鼠標按鈕。請勿使用GetAsyncKeyState(),因爲該API會告訴您當前處理LBN_SELCHANGE消息時可能已更改的鍵盤/鼠標按鈕的狀態。然而,GetKeyState()會告訴你,當生成LBN_SELCHANGE時的狀態。
0
AFAIK有沒有辦法找出這個信息。你知道如果你發送消息給CListCtrl,所以你應該設置一個標誌,如果你這樣做。如果收到LBN_SELCHANGE消息並且標誌沒有被設置,那麼它必須來自鍵盤/鼠標。
+0
謝謝你的幫助Goz。 – dangerousdave 2010-01-29 14:05:54
相關問題
- 1. MFC CListCtrl吃鼠標事件?
- 2. 由鼠標引起的鍵盤輸入延遲
- 3. 鍵盤/鼠標輸入C++
- 4. 將觸摸輸入更改爲鼠標/鍵盤輸入
- 5. 如何從鍵盤事件更改爲鼠標事件
- 6. 關於選擇MFC CListCtrl項目
- 7. 簡化的鍵盤鼠標:輸入
- 8. jQuery - 相當於更改/鍵盤輸入
- 9. 如何打開鍵盤事件上的選擇輸入模式
- 10. 改變鍵盤事件,鼠標事件AS3
- 11. Visual Studio MFC CListCtrl複選框 - 空格鍵
- 12. 更改基於url的輸入選擇?
- 13. 如何在鼠標輸入事件中觸發鼠標中鍵?
- 14. 發送鼠標和鍵盤事件
- 15. 攔截鼠標/鍵盤事件
- 16. 查找鍵盤事件設備,鼠標
- 17. NSWindow忽略鼠標/鍵盤事件
- 18. 更改事件不適用於多個選擇輸入
- 19. 如何確定是否通過鍵盤或鼠標輸入引發了combobox selectionchangemitted
- 20. 鍵盤輸入鍵在MFC對話框中不起作用?
- 21. 輸入事件(鍵盤/鼠標)的NSEvent時間戳的準確性?
- 22. 由於卡住鍵盤輸入WM_KEYUP
- 23. 防止在選擇輸入框時觸發鍵盤事件
- 24. 如何通過鍵盤或鼠標檢測JTree上的選擇更改?
- 25. Genymotion鼠標和鍵盤輸入不起作用
- 26. 按鍵導航,按鍵盤上的事件輸入鍵盤上的輸入
- 27. 如何找到IE中的選擇框 - 鍵盤或鼠標導致onChange事件?
- 28. 更改鍵盤輸入文字的Android
- 29. 從選擇列表中檢測「更改」事件 - 從鼠標單擊或按鍵中輸入
- 30. SendInput發送鼠標輸入和鍵盤輸入
非常感謝Stefan。 – dangerousdave 2010-02-13 10:11:41