- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章Windows应用程序对键盘及鼠标
第六章 Windows应用程序对键盘及鼠标的响应 插字符(caret): 表示当前下文的位置,系统共享且只有拥有输入焦点的窗口才能拥有. BOOL CreateCaret //创建插入符 ( HWND hWnd, // 窗口句柄 HBITMAP hBitmap, // 若为NULL,则非位图 int nWidth, //插入符宽度 int nHeight //插入符高度); BOOL ShowCaret( HWND hWnd //窗口句柄); BOOL SetCaretPos ( int X, // 横坐标 int Y // 纵坐标 ); DestroyCaret() GetCaretPos() HideCaret(), 插入符 Caret相关编程(1) long WINAPI WndProc //消息处理函数(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam) { HDC hDC; //定义指向设备描述表的句柄 HFONT hf; char string[ ]=“第五章 文本输出方法与字体的设置”; ……………….. switch(iMessage) //处理消息 {case WM_CREATE: hdc=GetDC(hwnd); hf=CreateFont(40,0,0,0,400,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH,隶书); SelectObject(hdc,hf); GetTextMetrics(hdc,tm); nYChar=tm.tmHeight+tm.tmExternalLeading; //字体的高度加行间距 CreateCaret(hwnd,NULL,10,nYChar); //设置插入符 SetCaretPos(10,10);//设置插入符显示位置 ShowCaret(hwnd);//显示插入符 ReleaseDC(hwnd,hdc); break; …………….. return 0;}…………} 插入符 Caret相关编程(2) long WINAPI WndProc //消息处理函数(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam) { HDC hDC; //定义指向设备描述表的句柄 HFONT hf; char string[ ]=“第五章 文本输出方法与字体的设置”; ……………….. switch(iMessage) //处理消息 {case WM_CREATE: hdc=GetDC(hwnd); hf=CreateFont(40,0,0,0,400,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH,隶书); SelectObject(hdc,hf); GetTextMetrics(hdc,tm); nYChar=tm.tmHeight+tm.tmExternalLeading; //字体的高度加行间距 break; case WM_SETFOCUS://获取键盘输入焦点 CreateCaret(hwnd,NULL,nYChar/8,nYChar); //设置插入符 SetCaretPos(10,10);//插入位置设置 ShowCaret(hwnd);//显示插入符 break;…………….. return 0;}…………} 6.1 应用程序对键盘动作的响应 扫描码: 对应一个标识值,该标识值依赖于具体设备 虚拟码: 与设备无关的键盘编码,它的值存放在键盘消息的wParam中,在windows.h中定义 常用的虚拟码见表6-1 (P118) 例: VK_0 , VK_A ,VK_CONTROL, 输入焦点窗口(input focus):接收输入的窗口,该窗口应是活动窗口或活动窗口的子窗口 通过捕获WM_SETFOCUS,WM_KILLFOCUS决定是否有输入焦点 Windows中处理键盘输入原理 键盘消息分类: 按键消息:按下或松开一个键 系统按键 (WM_SYSKEYDOWN, WM_SYSKEYUP),对应使用了Alt与其它键组合 非系统按键 (WM_KEYDOWN, WM_KEYUP) 其中wParam
您可能关注的文档
- 第六章 嵌入式应用程序设计.ppt
- 第六章 报关单填制 第二节 讲义(一).doc
- 第六章 报表管理系统6.ppt
- 第六章 弯曲变形(6学时).ppt
- 第六章 格.ppt
- 第六章 流动资金的管理.ppt
- 第六章 汉语词汇与文化.ppt
- 第六章 涡轮增压系.ppt
- 第六章 社区商业规划.doc
- 第六章 电子触发器内容.ppt
- 中国国家标准 GB/T 45390-2025动力锂电池生产设备通信接口要求.pdf
- 中国国家标准 GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- 《GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型》.pdf
- GB/T 10184-2025电站锅炉性能试验规程.pdf
- 海尔智家股份有限公司海外监管公告 - 海尔智家股份有限公司2024年度环境、社会及管治报告.pdf
- 上海复旦张江生物医药股份有限公司2024 环境、社会及管治报告.pdf
- 中国邮政储蓄银行股份有限公司中国邮政储蓄银行2024年可持续发展报告.pdf
- 豫园股份:2024年环境、社会及管治(ESG)报告.pdf
- 南京熊猫电子股份有限公司海外监管公告 - 2024年度环境、社会及治理(ESG)报告.pdf
文档评论(0)