1. 程式人生 > >MFC Edit Control 捕捉回車用法

MFC Edit Control 捕捉回車用法

標頭檔案新增
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);
}