请问如何在对话框里如何接收处理键盘消息?
我想用在对话框里接收键盘消息,在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);