2013-05-08 1 views
0

WM_KEYDOWN에서 메시지를받는 데 문제가 있습니다. WM_KEYDOWN은 앱에서 아무 버튼이나 클릭하기 전까지는 정상적으로 작동합니다. 그 시점부터 더 이상 키보드에서 입력을받지 못합니다. 그것을 고치는 방법?C++ Win32API WM_KEYDOWN 및 버튼

+2

질문을 좀 더 자세히 작성해 주시면 perharps가 코드를 제공하여 호감을 얻게 될 것입니다. – aimbire

답변

2

당신이는 Win32를 사용하여 제어 할 경우 같은 CreateWindowEx(NULL, L"BUTTON", ...으로 이것은 각 컨트롤이 실제로 자식 창입니다 예상된다 포커스가있는 모든 창 메시지를 캡처합니다.

일단 버튼을 클릭하면 WM_COMMAND - BM_CLICK 메시지를 캡처 한 다음 SetFocus (hwnd)를 호출하여 창에 초점을 맞출 수 있습니다 (Giswin 언급).

1

아마도 앱의 버튼을 클릭하기 전에 창이 포커스가 없습니다.

yourwindow->SetFocus(); 

또는 WINAPI를 사용 : 프로그래밍 초점 설정 앱에서 어딘가에 코드를 추가 할 수 있습니다

::SetFocus(hWnd);