2013-05-08 94 views
0

我在接收WM_KEYDOWN消息时遇到问题。 WM_KEYDOWN工作得很好,直到我点击我的应用程序中的任何按钮。从那时起,它不再从键盘接收我的输入。如何解决它?C++ Win32API WM_KEYDOWN和按钮

+2

如果您可以详细阐述一下您的问题,那么提供一些代码的perharps将会被很好地接受。 – aimbire 2013-05-08 18:41:47

回答

2

如果您正在使用Win32控件,如CreateWindowEx(NULL, L"BUTTON", ...这种预期每个控件实际上是一个子窗口并在聚焦后捕获所有窗口消息。

点击按钮后,您可以捕获WM_COMMAND - BM_CLICK消息,然后调用SetFocus(hwnd)重新调整焦点(如Giswin所述)。

1

在您点击应用程序中的任何按钮之前,您的窗口可能没有焦点。你可以在你的应用程序的地方添加代码以编程方式设置重点:

yourwindow->SetFocus(); 

或使用WINAPI:

::SetFocus(hWnd);