读书人

请教怎么在对话框里怎么接收处理键盘消

发布时间: 2012-01-13 22:43:29 作者: rapoo

请问如何在对话框里如何接收处理键盘消息?
我想用在对话框里接收键盘消息,在classwizard里,看到对话框的message那有wm_keydown wm_keyup,设了按下上下左右键来实现一些操作,可是编译完之后按上下左右键,只有个虚线框在各个控件键间移动。不能实现我所要的工作。这个是怎么回事。
怎么让对话框接收处理键盘消息?

[解决办法]
对话框类的窗口比较特殊,无法直接接收到WM_KEYUP等消息
你可以重载CDialog::PreTranslateMessage(MSG* pMsg)

if(pMsg-> message == WM_KEYUP)
{
switch(pMsg-> wParam)
{
case VK_UP:
break;

case VK_DOWN:
break;

case VK_LEFT:
break;

case VK_RIGHT:
break;
}
TRACE1( "KEY %d\n ", pMsg-> wParam);
}

return CDialog::PreTranslateMessage(pMsg);

读书人网 >VC/MFC

热点推荐