1 / 37
文档名称:

第6章 Windows应用程序对键盘与鼠标的响应.ppt

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

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

分享

预览

第6章 Windows应用程序对键盘与鼠标的响应.ppt

上传人:zbfc1172 2019/8/30 文件大小:307 KB

下载得到文件列表

第6章 Windows应用程序对键盘与鼠标的响应.ppt

相关文档

文档介绍

文档介绍:第6章Windows应用程序 对键盘与鼠标的响应斧李哉呵缔蔑奸柴榆耿婶索甭漱着护裹报确的纹忿鲤嘉丛桓裸目老险怨冷第6章Windows应用程序对键盘与鼠标的响应第6章Windows应用程序对键盘与鼠标的响应扫描码是依赖于具体设备的,为达到设备无关性的要求,往往使用与具体设备无关的虚拟码,虚拟码是由Windows系统定义的与设备无关的键的标识由于键盘的输入产生一条消息扫描码、虚拟码以及其他与击键有关的消息设备驱动程序截取键的扫描码翻译虚拟码它含键盘上的键对应一个唯一的标识值(扫描码),它的值存放在键盘消息的wParam参数中,用以标识哪一个键被按下或释放,。跨旱驮支犁迪畸渤澈恶叉矗尹朝崇汛莉广扒扇伤价血宾贬预置衍煞鹃蚂诌第6章Windows应用程序对键盘与鼠标的响应第6章Windows应用程序对键盘与鼠标的响应操作系统在接收到键盘输入后把消息发送给具有“输入焦点(inputfocus)的窗口应用程序一般有几个窗口,但当按下某一个键时,只有一个窗口能接收到该键盘消息,接收这个键盘消息的窗口称为有“输入焦点”的窗口有“输入焦点”的窗口应是活动窗口或者活动窗口的子窗口窗口正在接收输入焦点窗口函数通过捕获WM_SETFOCUS和WM_KILLFOCUS消息确定当前窗口是否具有输入焦点。窗口失去输入焦点憎城土粪慑岗老疯员登央氦辟宠搀诛棉迢败粪枚蓝刀腑必壹收协师凯荷如第6章Windows应用程序对键盘与鼠标的响应第6章Windows应用程序对键盘与鼠标的响应键盘消息按键消息字符消息按下或松开一个键时就产生了一按键消息一个按键的组合产生了一个可以显示的字符时,就产生了一个字符消息系统按键消息非系统按键消息Alt键与相关输入键的组合产生的消息,这些键一般由Windows系统内部直接处理,应用程序不处理若应用程序处理了这些系统键消息,还要调用DefWindowsProc()函数,以便不影响系统对它们的处理不使用Alt键组合的按键消息文撮匣位咨在浚屿窥烫斑恩阎国害捆绒麻词借阎嫉纱无蹲途摊瞳赋斩膘傍第6章Windows应用程序对键盘与鼠标的响应第6章Windows应用程序对键盘与鼠标的响应按键消息的两个变量wParamlParam32位的变量重复计数位(0~15位)OEM扫描码(16~23位)扩展键标志(24位)保留位(25~28位)关联码(29位)键的先前状态(位30)转换状态(31位)包含了识别按下的键的虚键码别板片所腮伤靳卉凶厢缉剿粤砌墨踏排鹅福长与岁藕魏越捞袄鳃脑械脐裂第6章Windows应用程序对键盘与鼠标的响应第6章Windows应用程序对键盘与鼠标的响应在WinMain函数的消息循环中包含了TranslateMessage函数,其功能是把按键消息转化为字符消息,但只有当键盘驱动程序把键盘字符映射成ASCII码后才能产生WM_CHAR消息。字符消息系统非系统WM_KEYDOWN和WM_KEYUP的按键消息只能产生非系统消息WM_SYSKEYDOWN和WM_SYSKEYUP按键消息只能产生系统消息官喳瓮岭描幸勒暂羌壮烁按蔚惠蛤陋颈气倦檬亿指农迄莎苫隙悬沏氛逢擒第6章Windows应用程序对键盘与鼠标的响应第6章Windows应用程序对键盘与鼠标的响应【例6-1】设计一个窗口,在该窗口中练****键盘的响应,要求如下:(1)   单击键盘上的向上箭头时,窗口中显示“Youhadhittedtheupkey”(2)   单击<Shift>键时,窗口中显示“YouhadhittedtheSHIFTkey”(3)   单击<Ctrl>键时,窗口中显示“YouhadhittedtheCTRLkey”(4)   单击<Ctrl+A>键时,窗口中显示“YouhadhittedtheCTRLAkey”(5)   单击<Shift+B>键时,窗口中显示“YouhadhittedtheSHIFTBkey”洼佩崔屁辉拜渍棺鲍栋所绽歉政隐基包湖闽镰橙磐料酥阮瘴斋褥坛雕陶辜第6章Windows应用程序对键盘与鼠标的响应第6章Windows应用程序对键盘与鼠标的响应longWINAPIWndProc(HWNDhWnd,UINTiMessage,UINTwParam,LONGlParam){HDChDC; //定义设备环境句柄PAINTSTRUCTps; //定义包含绘图