PreTranslateMessage()를 처리할 때 간과하는 것이 KEY_DOWN, KEY_UP에 대한 처리를 무시하는 것이다.
실제로 아래와 같은방식으로 처리하게 되면 함수 호출이 두번 수행되게 된다.
if( pMsg->wParam == VK_RETURN )
{
OnClickedButton();
return TRUE;
}
따라서, 아래처럼 KEY_DOWN, KEY_UP에 대한 처리를 한 후에 입력 키값을 비교해야 한다.
if ( pMsg->message == WM_KEYDOWN )
{
if( pMsg->wParam == VK_RETURN )
{
OnClickedButton();
return TRUE;
}
}
'개발 관련 > Windows 개발' 카테고리의 다른 글
| Visual studio 찾기 및 바꾸기 wildcards option (0) | 2013.01.16 |
|---|---|
| 윈도우 핸들로 컨트롤(Button, Edit, Combo.. ) 구분하는 방법 (0) | 2013.01.12 |
| Modeless dialog 동적 생성 후 삭제시 메모리 해제 문제 (0) | 2013.01.05 |
| Create()를 사용해서 윈도우를 생성할 때 WS_POPUP 문제 (0) | 2013.01.03 |
| 다이얼로그 실행시 작업표시줄에 나타나지 않는 문제 (0) | 2013.01.02 |
댓글 로드 중…