MFC Edit Control 捕捉回車用法
阿新 • • 發佈:2019-02-18
標頭檔案新增 virtual BOOL PreTranslateMessage(MSG* pMsg); 這個函式是捕獲到所有Edit Control回車的訊息。 BOOL Ctext1Dlg::PreTranslateMessage(MSG* pMsg) { if(WM_KEYDOWN == pMsg->message && VK_RETURN == pMsg->wParam) { if(GetFocus()== GetDlgItem(IDC_EDIT1)) //根據不同控制元件焦點判斷是那個在執行 { updateData(true); dosomething... } if(GetFocus()== GetDlgItem(IDC_EDIT1)) //根據不同控制元件焦點判斷是那個在執行 { updateData(true); dosomething... } ) MessageBox(_T("adsf")); return 0; //這裡必須返回0 否則執行報錯 } 第二種方法 沒有驗證 重寫EDIT中的WM_KEYDOWN訊息 void CMyEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); { if (nChar == VK_RETURN) { TRACE(traceAppMsg, "return pressed\n"); return; } CEdit::OnKeyDown(nChar, nRepCnt, nFlags); }