본문 바로가기
프로그래밍/MFC (C++)

MFC ] EditBox에서 편집하고 엔터치면 입력되게끔 하기

by eteo 2023. 9. 15.

 

 

PreTranslateMessage(MSG* pMsg) 함수 재정의

 

 

 

 

BOOL AppDlg::PreTranslateMessage(MSG* pMsg)
{
	// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
    
    // 키보드 입력시
	if (pMsg->message == WM_KEYDOWN)
	{
    	// 엔터키인 경우
		if (pMsg->wParam == VK_RETURN)
		{
        // 현재 다이얼로그나 윈도우에서 포커스를 가진 컨트롤(윈도우)을 반환
			CWnd* pFocusWnd = GetFocus();
            
            // 컨트롤 ID가 에딧박스인 경우 입력처리
			if (pFocusWnd != nullptr && pFocusWnd->GetDlgCtrlID() == IDC_EDIT_CMD)
			{
				OnBnClickedButtonSend();
			}
		}
	}

	return CDialogEx::PreTranslateMessage(pMsg);
}