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

根据WM_CHAR消息获取用户输入字符的有关问题

2014-02-22 
根据WM_CHAR消息获取用户输入字符的问题?if(pMsg-messageWM_CHAR){char name[32]GetKeyNameText(pMsg-

根据WM_CHAR消息获取用户输入字符的问题?
if(pMsg->message==WM_CHAR)
{
  char name[32];
  GetKeyNameText(pMsg->lParam,name,32);
  CString Key=name;
}

//当我在按小键盘上数字键时后会得到下面的结果:
  //比如按8,Key 的值为Num 8,我要的是为8
  //按9,Key 的值为Num 9,我要的是为9
  //按其他键可以正常获取用户输入的字符
  如何解决他?还有更好的获取户输入的字符的方法吗?

[解决办法]
WM_CHAR消息的lParam是这么定义的,否则怎么区分到底是哪个键被按下了
获取用户输入的字符应该使用wParam参数
[解决办法]
这个返回就是为了区分是小键盘还是普通的键盘。你可以做一个替换,把所有得到的Num 开头的给替换成普通的。
[解决办法]
key.Format("%c",(TCHAR)wParam);

如果是在wnd里的话用Onchar()

热点排行