键盘事件
WM_KEYDOWN
WM_KEYUP
WM_CHAR
点击按键与消息的关系
区别:
WM_KEYDOWN:可以识别键盘上的大多数按键,但不能区分大小写字母,以及数字和特殊符号,只能大写字母和数字
WM_CHAR:只能识别键盘上的字符键和部分控制键,但可以区分大小写字母和shift+数字键
实例:输出可以移动的字符串(上下左右键控制移动)
1、新建单文档程序MoveChar
2、定义变量
public:
// 存放用户输入的信息
CString m_string;
int x;
int y;
3、在ClassWizard中添加WM_CHAR和WM_KEYDOWN消息映射
4、在OnChar函数中添加代码
m_string.AppendChar(nChar);
Invalidate();
5、在OnDraw函数中添加代码
pDC->TextOut(x,y,m_string);
6、在OnKeyDown函数中添加代码
switch (nChar)
{
case VK_LEFT:
x--;
break;
case VK_RIGHT:
x++;
break;
case VK_UP:
y--;
break;
case VK_DOWN:
y++;
break;
}
Invalidate();
The End...