重载PreTranslateMessage后出现的一个奇怪问题
xyyk 2004-03-16 11:12:13 我的工程是一个对话框,我想在其中的一个CEdit控件中按下回车后执行某一项处理,我的代码是这样的:
BOOL CNetMeetDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->wParam==VK_RETURN)
{
if(pMsg->hwnd==textBoxSendMsg.m_hWnd)
{
SendMsg();
//不知道为什么,去掉下面这一句的话SendMsg()会执行两次
//MessageBox("fffffffffffff!","错误");
}
return true;
}
return CDialog::PreTranslateMessage(pMsg);
}
我想在按下回车后执行SendMsg()这个函数,但不知道为什么,SendMsg()总是会被执行两次!但当我在SendMsg()后面一行放一个MessageBox()的时候,SendMsg()又只执行一次,也就是情况又正常了,不知道是怎么回事?高手指点。