1 / 37
文档名称:

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

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

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

分享

预览

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

上传人:xzh051230 2019/5/28 文件大小:306 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; //定义包含绘图