首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

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

2012-01-13 
请问如何在对话框里如何接收处理键盘消息?我想用在对话框里接收键盘消息,在classwizard里,看到对话框的mes

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

热点排行