| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3302 人关注过本帖
标题:关于C++中对键盘输入的读取
只看楼主 加入收藏
ljfljf2006
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-9-11
收藏
 问题点数:0 回复次数:2 
关于C++中对键盘输入的读取
我想用C++编写一个WIN32下的贪吃蛇程序,请问下从键盘读取方向键的输入这段代码怎么写.
搜索更多相关主题的帖子: 键盘 输入 
2008-02-18 10:38
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
处理键盘消息 WM_KEYDONW 或 WM_KEYUP

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-02-18 12:45
天使梦魔
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:0 
你确定不是在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);
2008-02-19 10:07
快速回复:关于C++中对键盘输入的读取
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037733 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved