网站大量收购独家精品文档,联系QQ:2885784924

第六章+Windows应用程序对键盘及鼠标+.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档