问一下做过CWnd的高手,为什么CWnd只能接收部分的WM_KEYDOWN消息 ?
我派生一个CWnd的类,可是当它获得焦点后只能接收nChar为VK_A 至VK_Z 的键盘消息
void CExamBaseWnd::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
switch (nChar)
{
case VK_LEFT:
MessageBox("left");
break;
case VK_RIGHT:
break;
default:
if ( (nChar >= _T('a') && nChar <=_T('z'))
CWnd::OnKeyDown(nChar, nRepCnt, nFlags);
}
int CExamBaseWnd::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
{
SetFocus();
return CWnd::OnMouseActivate(pDesktopWnd, nHitTest, message);
}