我有一个基于对话框的MFC项目。我有ON_WM_KEYDOWN()
功能正常工作,当我按下向下键时,它会做它应该做的事情。
现在我想将向下键更改为' w'我有非常基本的MFC知识,我不知道应该添加什么功能以及要更改的程序的哪个部分。
。键,以及' a'等的左键。我的ON_WM_KEYDOWN()
函数如下所示:
if(pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
// Disable OK & Cancel function
case VK_ESCAPE:
case VK_RETURN:
return TRUE;
}
}
答案 0 :(得分:0)
变量pMsg->wParam
包含已按下的键。您可以查找密钥代码here。因此,您需要在ON_WM_KEYDOWN
处理程序中使用与以下内容类似的代码:
if(pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case 0x57:
// W key. Put code for "up" here...
break;
case 0x41:
// A key. Put code for "left" here...
break;
case 0x53:
// S key. Put code for "down" here...
break;
case 0x44:
// D key. Put code for "right" here...
break;
// Disable OK & Cancel function
case VK_ESCAPE:
case VK_RETURN:
return TRUE;
}
}
例如,如果您希望 A 键执行 cursor-left 键的相同操作,则可以通过发送{{1}来执行此操作}通过VK_LEFT
消息与PostMessage函数:
WM_KEYDOWN
然而,我没有尝试这个,我不知道这样做是不是一个好的风格。