正文

Visual C++学习笔记--鼠标和键盘2006-07-09 02:15:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/fouryears/16480.html

分享到:

1.客户区鼠标消息在文档类添加数据成员,并初始化。添加消息响应函数的方法:在工程管理窗口的Class Views卡中,右击视图类,选择Add Windows Message Handler在选项中选择要添加的消息函数。在消息映射函数中添加代码。2.非客户区鼠标消息WM_NCLBUTTONDBCLK  双击鼠标左键WM_NCLBUTTONDOWN  按下鼠标左键WM_NCLBUTTONUP   释放鼠标左键WM_NCMOUSEMOVE   在客户区移动鼠标WM_NCRBUTTONDBCLK  双击鼠标右键WM_NCRBUTTONDOWN  按下鼠标右键WM_NCRBUTTONUP   释放鼠标右键Windows 并不希望用户使用非客户区鼠标消息,所以Visual C++没有提供使用非客户区鼠标消息的编程工具。如果非要使用非客户区鼠标消息的话,则程序员必须用手工方法在程序中添加非客户区鼠标消息映射宏和对应的消息响应函数。3.鼠标消息的捕获为了当鼠标移出应用程序窗口外时,应用程序也能接收到鼠标消息,而使用捕获鼠标消息的函数:CWnd* SetCapture();捕获鼠标消息并完成所做的工作后,应用程序应及时释放鼠标。以使鼠标可以按系统预定的正常方式发送。否则将使鼠标一些正常的作用失效。(例如,当鼠标单击窗口的关闭按钮时,程序却不能关闭。)释放鼠标的函数:BOOL ReleaseCapture();4.处理键盘消息扫描码:按下某个键时,键盘的接口产生的与该键对应的编码。扫描码与设备有关。虚拟码:为方便程序设计,Windows 对每个按键定义的与设备无关的编码。键盘上的部分虚拟码:VK_ADD    '+'键 VK_BACK    BackSpaceVK_CONTROL   CtrlVK_F1~VK_F12   F1~F12一般按键消息:WM_CHAR    当敲击键盘上的字符键时,产生该消息 WM_KEYDOWN   任意键被按下时都产生该消息,如果被按下的是字符键,在产生WM_KEYDOWN消息的同时还产生字符消息WM_KEYUP   任意键被释放时都产生该消息3个消息响应函数:void OnChar(UINT nChar,UINT nRepCnt,UINT nFlags);void OnKeyDown(UINT nChar,UINT nRepCnt,UINT nFlags);void OnKeyUp(UINT nChar,UINT nRepCnt,UINT nFlags);系统按键消息:用户按下ALT键的同时,右按下其它相关输入键时产生的消息。4.应用程序窗口的焦点应用程序的窗口获得输入焦点时,发出WM_SETFOCUS消息窗口失去输入焦点时,发出WM_KILLFOCUS消息  

阅读(4837) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册