VC怎么获得按键消息呢啊,求帮助

[复制链接]
查看11 | 回复2 | 2016-7-27 16:40:54 | 显示全部楼层 |阅读模式
我想根据如果按了键盘上的"W"键就出发消息,那个该怎么办呢
BOOL CMy3DSystemDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if((pMsg->message==WM_KEYDOWN)/*&(pMsg->hwnd==m_SceneControl.m_hWnd)*/)
{

if(pMsg->wParam ==VK_UP)
{
// AfxMessageBox("");

OnButton10();

}
}
return CDialog::PreTranslateMessage(pMsg);
}
这样如果是VK_UP可以,但是我要是换成26怎么就不可以了呢,VK_UP不是对应的是26吗,要是VK_TAB换成9的话却可以
哎,切入正题,怎么捕获‘W’按键呢,改改成多少呢

回复

使用道具 举报

千问 | 2016-7-27 16:40:54 | 显示全部楼层
如果你是这样:pMsg->wParam ==26来判断当前按键是否是上箭头的话那就错了,因为VK_UP对应的值26是16进制的,你这样写的话系统会认为是十进制的。但VK_TAB却可以,因为VK_TAB对应的16进制值为9,也恰好等于10进制的9,所以应该写成pMsg->wParam ==0x26,要捕获W按键的话,只要pMsg->wParam ==0x57就可以
回复

使用道具 举报

千问 | 2016-7-27 16:40:54 | 显示全部楼层
#define VK_UP
0x26是0x26,十六进制的26不是十进制的26
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行