版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MFC程序设计,鼠标和键盘,作 者:李 季,主要内容,鼠标消息分类 客户区鼠标消息 非客户区鼠标消息 光标 键盘消息,鼠标消息分类,客户区鼠标消息 非客户区鼠标消息,客户区鼠标消息,客户区鼠标消息,当窗口的WNDCLASS包含类样式CS_DBLCLKS,在很短时间内同一鼠标键被连续单击两次时,第二次键按下消息被WM_xBUTTONDBLCLK消息取代。 默认情况下,框架窗口接受双击消息。,客户区鼠标消息,未注册双击消息,连续单击两次产生下面消息序列: WM_xBUTTONDOWN WM_xBUTTONUP WM_xBUTTONDOWN WM_xBUTTONUP,客户区鼠标消息,已注册双击消息,
2、连续单击两次产生下面消息序列: WM_xBUTTONDOWN WM_xBUTTONUP WM_xBUTTONDBLCLK WM_xBUTTONUP,客户区鼠标消息参数,CPoint point 指出光标位置,客户区坐标 在WM_MOUSEMOVE消息中,指出最近的光标位置 UINT nFlags 消息生成时鼠标键以及Shift键和Ctrl键的状态,客户区鼠标消息,非客户区鼠标消息,非客户区鼠标消息,无论窗口是否注册CS_DBLCLKS样式,WM_NCxBUTTONDBLCLK消息都要被发送。,非客户区鼠标消息参数,CPoint point 指出光标位置,屏幕坐标 在WM_MOUSEMOVE消息
3、中,指出最近的光标位置 UINT nHitTest 包含标识窗口非客户区上事件发生地点的命中测试码,非客户区鼠标消息参数,非客户区鼠标消息,ON_WM_NCLBUTTONDBLCLK() void CMainWindow:OnNcLButtonDblClk(UINT nHitTest, CPoint point) if(nHitTest != HTCAPTION) CWnd:OnNcLButtonDblClk(nHitTest, point); ,非客户区鼠标消息,NO_WM_NCHITTEST() UINT CMainWindow:OnNcHitTest(CPoint point) UINT
4、 nHitTest = CFrameWnd:OnNcHitTest(point); if(nHitTest = HTCLIENT) nHitTest = HTCAPTION; return nHitTest; ,光标,注册WNDCLASS,指定目标光标类型为类光标 CString strWndClass = AfxRegisterWndClass(0, AfxGetApp()- LoadStandardCursor(IDC_CROSS), (HBRUSH)(COLOR_WINDOW + 1), AfxGetApp()-LoadSteandardIcon (IDI_WINLOGO); Creat
5、e(strWndClass, _T(“Mouse Capture Demo(Capture Enabled)”);,光标,调用:SetCursor响应WM_SETCURSOR消息 ON_WM_SETCURSOR() BOOL CMainWindow:OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) if(nHitTest = HTCLIENT) :SetCursor(m_hCursor); return TRUE; return CFrameWnd:OnSetCursor(pWnd, nHitTest, message);,光标,隐藏光标
6、 :ShowCursor(FALSE); 显示光标 :ShowCursor(TRUE); 显示光标的次数与隐藏光标的次数相同,才能再次显示光标,沙漏形光标,显示沙漏形光标 CWaitCursor wc; CWaitCursor的构造函数显示沙漏形光标,其析构函数还原原来的光标 如果在变量超出范围之前,还原光标可以调用CWaitCursor:Restore wc.Restore(); 如果想自定义表现形式,可以重载CWinApp:DoWaitCursor,键盘消息,击键消息 WM_KEYDOWN、WM_KEYUP WM_SYSKEYDOWN、WM_SYSKEYUP 击键消息响应函数 Afx_msg void OnMsgName(UINT nChar, UINT nRepCnt, UINT nFlags) 一般交给Windows去处理,键盘消息,字符消息 ON_WM_CHAR() void CWainWindow:OnChar(UINT nChar,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学主题班会课件:梦想从心出发行志存高远展宏图
- 项目管理沟通技巧培训指南
- 关于智能仓储系统试运行协议的修订函6篇
- 数字化医院管理体系建设指南
- 2026济南经发基金管理有限公司招聘8人模拟试卷附答案详解(能力提升)
- 2026江苏南京信息工程大学招聘财务人员2人参考题库及参考答案详解(完整版)
- 2026年东营区高层次人才选聘模拟试卷【全优】附答案详解
- 人工智能产品用户体验优化指南
- 连锁股东对企业财务柔性储备的影响研究
- 多个大股东对国有上市公司价值实现的影响研究
- 2026年证券从业资格投资银行业务考试题库
- 2026浙江温州市社会保险管理服务中心招聘编外人员1人笔试参考题库及答案详解
- 2026南方凯能(广东)电力集团有限公司校园招聘备考题库及一套参考答案详解
- 呼吸危重症人工气道护理专家共识 (2026 版)
- 2026年医学检验技术专业考试试题及答案
- 2026中国监护仪政府采购市场机会与投标策略分析报告
- 2026年医院口腔科医疗废物处置试题
- HG/T 6270-2024 防雾涂料(正式版)
- DB32T4036-2021中小学食堂管理服务规范
- 德江县国企招聘考试真题及答案
- 仁爱版英语八年级上册全册教案
评论
0/150
提交评论