电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

VC++实验五---MFC-鼠标和键盘编程实验

7页
  • 卖家[上传人]:206****923
  • 文档编号:88627521
  • 上传时间:2019-05-05
  • 文档格式:DOCX
  • 文档大小:86.83KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、实验五 MFC 鼠标和键盘编程实验一、预备知识1、 键盘在应用程序中的应用(1)键盘消息按键消息:按下或松开一个键时就产生了一按键消息。字符消息:一个按键的组合产生了一个可以显示的字符时,就产生了一个字符消息。消息类型含义WM_KEYDOWN非系统按下了非系统键消息WM_KEYUP非系统按下了非系统键消息WM_SYSKEYDOWN系统按下了系统键消息WM_SYSKEYUP系统松开了系统键消息(2)按键消息的两个参数wParam:包含了识别按下的键的虚键码。lParam(32 位的变量):重复计数位(015 位)、OEM 扫描码(1623 位)、扩展键标志(24 位)、保留位(2528 位)、关联码(29 位)、键的先前状态(位30)、转换状态(31 位)。(3)字符消息系统字符消息:WM_SYSKEYDOWN 和 WM_SYSKEYUP 按键消息只能产生系统消息。非系统字符消息:WM_KEYDOWN 和 WM_KEYUP 的按键消息只能产生非系统消息。消息类型含义WM_CHAR非系统按下了非系统键消息WM_DEADCHAR非系统按下了非系统键消息WM_SYSCHAR系统按下了系统键消息

      2、WM_SYSDEADCHAR系统松开了系统键消息2、 鼠标在应用程序中的应用鼠标作为定位输入设备,通过鼠标单击、双击和拖动功能,用户可以很容易地操作基于 Windows 图形界面的应用程序。Windows 中通过光标来指示当前鼠标的位置,在 Windows 操作系统中预定义了15几种光标,并在相关头文件中加以定义。代表预定义光标的常量光标属性描述IDC_ARROW箭头光标IDC_CROSS十字光标IDC_IBEAMI 形文本光标IDC_ICON空图标IDC_SIZEALL十字箭头光标IDC_SIZENESW带有指向东北方和西南方箭头的光标IDC_SIZENS带有指向北方和南方箭头的光标IDC_SIZENWSE带有指向西北方和东南方箭头的光标IDC _SIZEWE带有指向东方和西方箭头的光标IDC_UPARROW垂直箭头光标IDC_WAIT计时光标(也称沙漏光标)(1)鼠标消息鼠标消息的长字参数 lParam包含了鼠标位置(相当于窗口的左上角为原点的坐标值)。 低位包含鼠标位置的 x 坐标值,高位包含鼠标位置的 y 坐标。字参数wParam包含了指示各种虚键状态的值值含义MK_CONTR

      3、OL按下键按上的 Ctrl 键MK_LBUTTON按下了鼠标左键,等同与 WM_LBUTTONDOWNMK_MBUTTON按下了鼠标中键,等同与 WM_MBUTTONDOWNMK_RBUTTON按下了鼠标右键,等同与 WM_RBUTTONDOWNMK_SHIFT按下键盘上的 Shift 键(2)对于鼠标消息的处理监测 Shift 和 Ctrl 键case WM_LBUTTONDOWN: / 按下鼠标左键if(wParam&MK_CONTROL)&(wParam&MK_SHIFT) / Shift 和 Ctrl 键都被按下break;case WM_LBUTTONUP: / 释放鼠标左键break; 二、 实验目的(1) 掌握在 Visual Studio 的程序调试方法。(2) 掌握 MFC 消息映射的操作步骤;(3) 掌握在 MFC 程序中处理键盘和鼠标消息的方法;三、实验内容请编写程序,要求如下:(1) 在屏幕上绘制一个矩形,并将举行内部划分成 4 个矩形区域;(2) 在矩形内移动鼠标时,在上面划分的 4 个区域中显示不同的光标,并在屏幕左上角显示光标坐标;(3) 当用户按下 SH

      4、IFT 和 CTRL 键时,显示一个消息框,提示用户按下的是哪个键。四、实验结果(1) 列出消息处理程序代码清单头文件Demo.h:#include afxwin.hclass CDemoWnd :public CFrameWndpublic:CDemoWnd();CDemoWnd();public:LRESULT OnPaint(WPARAM wParam, LPARAM lParam);LRESULT OnMouseMove(WPARAM wParam, LPARAM lParam);LRESULT OnKeyDown(WPARAM wParam, LPARAM lParam);DECLARE_MESSAGE_MAP()public:/定义两个整形变量,用来记录鼠标的位置int m_nX0;int m_nY0;class CDemoApp :public CWinApppublic:BOOL InitInstance();CDemoApp theApp;源文件Demo.cpp:#include Demo.h/ 构造函数CDemoWnd:CDemoWnd()int m_nX0 = 0

      5、;int m_nY0 = 0;/ 析构函数CDemoWnd:CDemoWnd()/消息映射宏声明要处理的消息BEGIN_MESSAGE_MAP(CDemoWnd, CFrameWnd)ON_MESSAGE(WM_PAINT, OnPaint)ON_MESSAGE(WM_MOUSEMOVE, OnMouseMove)ON_MESSAGE(WM_KEYDOWN, OnKeyDown)END_MESSAGE_MAP()/OnPaint消息函数用来处理刷新消息WM_PAINT/绘制一个矩形,并将其分为四块LRESULT CDemoWnd:OnPaint(WPARAM wParam, LPARAM lParam)CPaintDC dc(this);dc.Rectangle(100, 100, 400, 400);dc.MoveTo(100, 250);dc.LineTo(400, 250);dc.MoveTo(250, 100);dc.LineTo(250, 400);return 0;/OnMouseMove消息函数用来处理WM_MOUSEMOVE消息/实现鼠标在矩形的不同区域,显示不同的光标

      6、/并在左上角显示鼠标的位置坐标LRESULT CDemoWnd:OnMouseMove(WPARAM wParam, LPARAM lParam)CClientDC dc(this);HCURSOR hCursor;CString str;m_nX0 = LOWORD(lParam);m_nY0 = HIWORD(lParam);/显示鼠标的位置坐标str.Format(_T(%d,%d), m_nX0, m_nY0);dc.TextOutW(10, 10, str);/在矩形的不同区域内鼠标以不同的光标显示if (m_nX0100 & m_nX0100 & m_nY0250 & m_nX0100 & m_nY0100 & m_nX0250 & m_nY0250 & m_nX0250 & m_nY0Create(NULL, _T(MFC鼠标键盘编程);pMainWnd-ShowWindow(m_nCmdShow);pMainWnd-UpdateWindow();m_pMainWnd = pMainWnd;return TRUE;实验结果:(1).在屏幕上绘制一个矩形,并将其内部划分成

      7、4 个矩形区域,在矩形内移动鼠标时,在上面划分的 4 个区域中显示不同的光标,并在屏幕左上角显示光标坐标。(2).当按下 SHIFT 和 CTRL 键时,显示一个消息框,提示用户按下的是哪个键。 (2) 总结鼠标消息、 按键消息和字符消息的字参数和长字参数包含信息的意义以及处理方法。鼠标消息:wParam:包含了指示各种虚键状态的值。lParam:包含了鼠标的位置信息,低位包含鼠标位置的x坐标值,高位包含鼠标位置的y位置按键消息:wParam:包含了识别按下的键的虚键码lParam :包含重复计数位(0-15位)、OEM扫描码(16-32位)、扩展键的标志(24位),保留位(25-28位)、关联码(29位)、键的先前状态(30位)、转换状态(31位)。字符消息:wParam:包含了识别按下的键的字符的ASCII码。lParam :包含重复计数位(0-15位)、OEM扫描码(16-32位)、扩展键的标志(24位),保留位(25-28位)、关联码(29位)、键的先前状态(30位)、转换状态(31位)。 (3) 总结实验的心得体会,实验中遇到的困难以及解决的方法等。通过本次编程实验,我学习和掌握了键盘消息和鼠标消息的编程规则和方法,以及应用时的注意事项。通过此次实验

      《VC++实验五---MFC-鼠标和键盘编程实验》由会员206****923分享,可在线阅读,更多相关《VC++实验五---MFC-鼠标和键盘编程实验》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.