我在接收WM_KEYDOWN消息時遇到問題。 WM_KEYDOWN工作得很好,直到我點擊我的應用程序中的任何按鈕。從那時起,它不再從鍵盤接收我的輸入。如何解決它?C++ Win32API WM_KEYDOWN和按鈕
0
A
回答
2
如果您正在使用Win32控件,如CreateWindowEx(NULL, L"BUTTON", ...
這種預期每個控件實際上是一個子窗口並在聚焦後捕獲所有窗口消息。
點擊按鈕後,您可以捕獲WM_COMMAND - BM_CLICK消息,然後調用SetFocus(hwnd)重新調整焦點(如Giswin所述)。
1
在您點擊應用程序中的任何按鈕之前,您的窗口可能沒有焦點。你可以在你的應用程序的地方添加代碼以編程方式設置重點:
yourwindow->SetFocus();
或使用WINAPI:
::SetFocus(hWnd);
相關問題
- 1. ComboBox在Win32Api C++
- 2. 如何捕獲WM_KEYDOWN事件時,按下MFC中的按鈕
- 3. 在C++中檢測WM_KEYUP和WM_KEYDOWN事件
- 4. 加載和繪畫BMP WIN32API C++
- 5. C++ win32api和使用char []分割
- 6. 使用Ruby的WIN32API查找特定按鈕
- 7. C#MessageBox的按鈕和UI
- 8. waveOut(Win32API)和多線程
- 9. CTRL + ALT + DEL不WIN32API和Python
- 10. C++ WINAPI:如何使用SendMessage/PostMessage WM_KEYDOWN lparam
- 11. WM_KEYDOWN混淆
- 12. Python win32api GetFileAttributes
- 13. 在Python中使用win32api檢測按鍵
- 14. Python win32api SendMesage
- 15. WPF C#按鈕,等待按下按鈕
- 16. 當使用Windows API和WM_KEYDOWN時,鍵輸入滯後C++
- 17. WPF C#按鈕綁定和文本框到按鈕綁定
- 18. WIN32API VS Python的
- 19. Win32Api USB SetupDiGetDeviceInterfaceDetail失敗
- 20. 如何從C#中調用Win32API SetCommTimeouts?
- 21. C++ Win32api,創建無資源對話框
- 22. C#WPF按鈕,按鈕座標陣列
- 23. 執行按鈕按鈕(unity3d/C#)
- 24. 需要幫助WM_KEYDOWN
- 25. WM_KEYDOWN重複計數?
- 26. ruby win32api&structs(VerQueryValue)
- 27. WM_KEYDOWN到達,WM_CHAR被跳過
- 28. C#按鈕點擊和私有變量
- 29. c形曲面板和按鈕#
- 30. 更新和刪除按鈕C#
如果您可以詳細闡述一下您的問題,那麼提供一些代碼的perharps將會被很好地接受。 – aimbire 2013-05-08 18:41:47