Programming/C Win32 MFC2009.08.25 16:41
전에는 몰랐는데, 이번에 발생한 문제이다...

Pre- 라는 말이 붙듯, 모든 입력을 우선적으로 가로채서 처리하게 되는 녀석이다.

예를 들어
1. 다이얼로그 메인 윈도우가 있고
2. 메인 윈도우에서 엔터시에 입력을 받도록 하고
3. MessageBox로 메시지를 띄운뒤
4. 메시지 박스를 없애기 위해 엔터를 치면
무한 루프에 빠지게 된다.

포커스로 그 컨트롤에서만 입력을 받도록 해놨지만,
메시지 박스가 발생하면서 엔터를 입력 받아도 포커스를 받아가지 않는지
PreTranslateMessage 에서 처리를 하면서
계속 엔터를 인식해서 메시지 루프에 꾸역꾸역 넣어준다...

빠져 나오려면 머.. 엔터가 아닌 스페이스로 하면 빠져는 나오지만,
이래저래 상쾌하지 못한 결과..

[링크 : http://msdn.microsoft.com/en-us/library/kkbhxcs2%28VS.80%29.aspx]
Posted by 구차니

댓글을 달아 주세요