1 / 37
文档名称:

windows应用程序对键盘与鼠标的响应.ppt

格式:ppt   大小:303KB   页数:37页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

windows应用程序对键盘与鼠标的响应.ppt

上传人:相惜 2022/8/9 文件大小:303 KB

下载得到文件列表

windows应用程序对键盘与鼠标的响应.ppt

文档介绍

文档介绍:第6章 Windows应用程序 对键盘与鼠标的响应
整理课件
扫描码是依赖于具体设备的,为达到设备无关性的要求,往往使用与具体设备无关的虚拟码,虚拟码是由Windows系统定义的与设备无关的键的标识
由于键盘的输入
产生一条消nUpKeyDown=FALSE,
nShiftKeyDown=FALSE,
nCtrlKeyDown=FALSE,
nCtrlAKeyDown=FALSE,
nShiftBKeyDown=FALSE;
整理课件
switch(iMessage)
{ case WM_KEYDOWN:
{ switch(wParam)
{ case VK_UP: //当按上箭头键时,变量置为真
nUpKeyDown = TRUE; break;
case VK_SHIFT: //当按Shift键时,变量置为真
nShiftKeyDown = TRUE; break;
case VK_CONTROL: //当按Control键时,变量置为真
nCtrlKeyDown = TRUE; break;
default: break;
}
}
break;
case WM_KEYUP:
InvalidateRect(hWnd,NULL,FALSE); break;
整理课件
case WM_CHAR:
if(wParam==(65&VK_CONTROL))
{ if(nCtrlKeyDown == TRUE)
{ nCtrlAKeyDown = TRUE; nCtrlKeyDown = FALSE; }
}
else if(wParam==98||wParam==66) //当按下b键时
{ if(nShiftKeyDown == TRUE) //检查Shift键是否处于按下状态。
{nShiftBKeyDown = TRUE; //当Shift键按下时,变量置为真
nShiftKeyDown = FALSE;}
}
break;
case WM_PAINT: //处理绘图消息.
hDC=BeginPaint(hWnd,&ps);
hBrush = (HBRUSH)GetStockObject(WHITE_BRUSH); //创建 白画刷。
hPen = (HPEN)GetStockObject(WHITE_PEN); //创建白画笔。
SelectObject(hDC,hPen); //选入白画刷
SelectObject(hDC,hBrush); //选入白画笔
SetTextColor(hDC,RGB(255,0,0)); //设置字体颜色为红色。
整理课件
//输出信息。
if(nUpKeyDown == TRUE)
{ Rectangle(hDC,0,0,300,200);
TextOut(hDC,0,0,cUp,strlen(cUp));
nUpKeyDown = FALSE;
}
else if(nCtrlAKeyDown == TRUE)
{ Rectangle(hDC,0,0,300,200);
TextOut(hDC,0,100,cCtrl_A,strlen(cCtrl_A));
nCtrlAKeyDown = FALSE;
nCtrlKeyDown = FALSE;
}
else if(nCtrlAKeyDown == TRUE)
else if(nCtrlKeyDown == TRUE&&nCtrlAKeyDown == FALSE)
{ Rectangle(hDC,0,0,300,200);
TextOut(hDC,0,60,cCtrl,strlen(cCtrl));
nCtrlKeyDown = FALSE;
}
整理课件
else if(nShiftBKeyDown == TRUE)
{ Rectangle(hDC,0,0,300,200);
TextOut(hDC,0,0,cShift_B,strlen(cShift_B));
nShiftBKeyDown = FALSE;
nShiftKeyDown = FALSE; }
else if(nShiftBKeyDown == FALSE&&nShiftKeyDown == TRUE)
{ Rectangle(hDC,0,0,300,200);
TextOut(hDC,0,0,cShift,strlen(cShi