2012. 2. 15. 15:15 윈도우/참고

다이얼로그 기반에서 OnChar 이벤트가 오지 않는다.
해당 이벤트를 받을 수 있게 하려면 App 에서 PreTranslateMessage 메시지 핸들러를 추가하고 MainWnd 에 메시지를 전달 해줘야 한다.

BOOL CTestCSKeyApp::PreTranslateMessage(MSG* pMsg)
{
 // TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.

 if (pMsg->message == WM_CHAR)
 {
  this->m_pMainWnd->SendMessage(WM_CHAR, pMsg->wParam, pMsg->lParam);
  return TRUE;
 }

 return CWinAppEx::PreTranslateMessage(pMsg);
}

위 코드 처럼 return TRUE; 를 해줘 중복 전달 되지 않도록 한다.

posted by townone