编程论坛
注册
登录
编程论坛
→
C++教室
关于C++中对键盘输入的读取
ljfljf2006
发布于 2008-02-18 10:38, 3302 次点击
我想用C++编写一个WIN32下的贪吃蛇程序,请问下从键盘读取方向键的输入这段代码怎么写.
2 回复
#2
随心
2008-02-18 12:45
处理键盘消息 WM_KEYDONW 或 WM_KEYUP
#3
天使梦魔
2008-02-19 10:07
你确定不是在MFC中?
消息循环中加入
WM_KEYDONW //键盘按下后状态
WM_KEYUP//放开后状态
方法有很多,我用一个状态检测方法来调试。(其他的可以自己参考)
所谓的状态检测就是当按下某键时条件成真,放开后成假。一直按住不放达到循环效果。
===============================================
bool keys[256]; // 键盘数组
//写在消息循环中的:
case WM_KEYDOWN:
{
keys[wParam] = TRUE//当某键按下后成真
return 0;
}
case WM_KEYUP:
{
keys[wParam] = FALSE;//放开后成假
return 0;
}
到这一切就结束了,注意
LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
这里用wParam定义,它可以捕捉到很多消息状态。
键盘消息是其中之一,用虚拟键值来表示,使用的时候:
if(keys[VK_ESCAPE])//当ESC被按下后
MessageBox(NULL,"消息框","ESC被按下",0);
1