为什么我在一个RichEdit控件中输入键盘上的字符都可以进入到它的OnKeyDown事件中但是回车符号却不能进入此事件,而如空格\删除\光标键都可以进入到此事件中我使用BOOL CVSCommandEditCtrl::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
switch(pMsg->message)
{
case WM_KEYDOWN:
{
//this->PostMessage(WM_KEYDOWN,pMsg>wParam,pMsg->lParam);
CString ls;
ls.Format("键盘%d\n",pMsg->wParam);
TRACE0(ls);
//this->PostMessage(WM_KEYDOWN,pMsg->wParam,pMsg->lParam);
}
break;
default:
break;
} return CRichEditCtrl::PreTranslateMessage(pMsg);
}当输入回车时可以在WM_KEYDOWN中拦截到,但是如果使用this->PostMessage(WM_KEYDOWN,pMsg->wParam,pMsg->lParam);发送消息,也不会进入到OnKeyDown中,而其他的字符却可以进入OnKeyDown,有谁知道这个是怎么回事,有什么解决办法吗?
{
// TODO: 在此添加专用代码和/或调用基类
switch(pMsg->message)
{
case WM_KEYDOWN:
{
//this->PostMessage(WM_KEYDOWN,pMsg>wParam,pMsg->lParam);
CString ls;
ls.Format("键盘%d\n",pMsg->wParam);
TRACE0(ls);
//this->PostMessage(WM_KEYDOWN,pMsg->wParam,pMsg->lParam);
}
break;
default:
break;
} return CRichEditCtrl::PreTranslateMessage(pMsg);
}当输入回车时可以在WM_KEYDOWN中拦截到,但是如果使用this->PostMessage(WM_KEYDOWN,pMsg->wParam,pMsg->lParam);发送消息,也不会进入到OnKeyDown中,而其他的字符却可以进入OnKeyDown,有谁知道这个是怎么回事,有什么解决办法吗?
{
switch(pMsg->wParam)//////加上这句
{
case VK_RETURN:
///////////////////////////这边处理 break;
default:
break;
}
}
OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)事件中的三个参数啊