截获编辑框的回车和TAB,该怎么处理

截获编辑框的回车和TAB
BOOL CGUIGB::PreTranslateMessage(MSG* pMsg) 
{
if (GetDlgItem(IDC_EDIT_INPUT) == GetFocus())
{
if(WM_KEYDOWN == pMsg->message && VK_RETURN == pMsg->wParam )
{
::SendMessage(((CEdit *)GetDlgItem(IDC_EDIT_INPUT))->m_hWnd, WM_CHAR, VK_RETURN, 0);
return true;
}
else if(WM_KEYDOWN == pMsg->message && VK_TAB == pMsg->wParam)
{
// ::SendMessage(((CEdit *)GetDlgItem(IDC_EDIT_INPUT))->m_hWnd, WM_CHAR, VK_TAB, 0);
return true;
}
}
return CDialog::PreTranslateMessage(pMsg);
}

这样一开始是可以的,但是只要按了退格键或粘贴后就无效了

------解决方案--------------------
回车好办,编辑框有个Want Return属性,设为True就能自己处理回车了
------解决方案--------------------
tab的话还是在PretranslateMessage里面操作吧。