基于MFC激光笔辅助教学系统界面设计.docVIP

基于MFC激光笔辅助教学系统界面设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MFC激光笔辅助教学系统界面设计

基于MFC激光笔辅助教学系统界面设计   摘 要:目前投影仪和大屏幕在教学、展示、会议、演讲等各个方面得到了广泛应用。但是,用户与计算机之间的交互,仍局限于键盘和鼠标。本文将在阐述MFC框架结构的基础上介绍一种基于MFC的激光笔辅助教学系统的界面设计,通过OPENCV开源计算机视觉库分析摄像头所采集的激光的移动路径,借助复杂的图像处理技术,将位置信息返回给MFC进行处理,最终使用户能够实现远距离的实时绘制激光移动轨迹,根据所需进行标记与绘画等。   关键词:MFC;界面设计;激光笔辅助教学   DOI:10.16640/j.cnki.37-1222/t.2015.21.242   1 MFC简介    Microsoft Visual Studio 2010是微软公司推出的功能强大的可视化Windows平台集成开发环境,MFC是其中的一个重要组成部分[1]。MFC(Microsoft Foundation Class Library)是微软公司对大部分标准Win32 API函数的封装,是面向对象的基础类库,利用这些类可以有效地完成基于Windows的程序开发。    MFC类库是C++语言与Windows的接口,提供了大量预先编写的类和代码。利用MFC编写程序的本质是选择该类库中合适的类,并调用其下相应成员函数来完成程序所需的特定功能。   2 MFC框架结构    AppWizard(应用程序向导)和Class Wizard(类向导)是Visual C++中两个十分重要的向导组件。AppWizard可以用来生成一个MFC类库的Windows应用程序基本框架,它以一系列对话框的形式来询问用户所建立的应用程序的类型和特征信息,根据用户的选择自动生成应用程序的基本源代码;Class Wizard用来管理程序中的类、对象和消息,协助用户在应用程序框架中添加代码以完成具体的功能[2]。    整体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,用户所要做的就是通过预定义的接口把应用程序特有的东西填入这个轮廓[2]。这种利用向导自动生成用来完成常规编程任务的源代码的形式,大大简化了Windows应用程序的设计工作并节约了设计者的开发时间。   3 MFC消息映射机制以及消息分类   3.1 MFC消息映射机制    MFC使用一种消息映射机制来处理消息,在应用程序框架中的表现就是一个消息与消息处理函数一一对应的消息映射表,以及消息处理函数的声明和实现等代码[3]。当窗口接收到消息时,会到消息映射表中查找该消息对应的消息处理函数,然后由消息处理函数进行相应的处理。   3.2 消息分类    MFC中消息分为以下三类:    (1)标准消息。除WM_COMMAND外,所有以WM_开头的消息是标准消息。从CWnd派生的类,都可以接收到这类消息; (2)命令消息。来自菜单、加速键或工具栏按钮的消息。消息名以WM_COMMAND呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息。从CCmdTarget派生的类,都可以接收到这类消息; (3)通知消息。由控件产生的消息,例如,按钮的单击,列表框的选择等均产生此类消息,为的是向其父窗口通知事件的发生。消息名也是WM_COMMAND。    从CCmdTarget派生的类,都可以接收到这类消息[4]。    MFC中各派生类与接收的消息类型关系如图1所示。   4 MFC功能实现   4.1 功能介绍    目前,多媒体演示 已渗透到人类活动的方方面面,投影仪和大屏幕在教学、展示、会议、演讲等处更是得到了广泛应用。但是,用户与计算机之间的交互,仍局限于键盘和鼠标,当用户想一边讲演一边标注时,只能局限于计算机旁,不能自由走动,当远离计算机时,虽能用世面上一些激光笔指示所讲内容,却又不能对所讲内容留下标记。基于以上缺憾,本实验设计了激光笔辅助教学系统,用户能借助激光笔远距离的在投影幕布上进行指示的同时又能对指示内容进行相应的标记,利用摄像头采集激光的移动轨迹,运用OPENCV计算机视觉库对采集到的视频进行复杂的图像处理,最终将激光点的坐标返回给MFC进行最后的实时绘图工作。以下重点阐述激光笔辅助教学系统中MFC所起到的重要作用。   4.2 设计流程    功能流程图如图2所示。   4.3 获取桌面窗口句柄    本实现的目的是在大屏幕上激光笔所指示位置留下对应的轨迹痕迹,即需要在整个桌面上进行绘图工作。那么,我们需要获取到跟桌面相关的句柄,此后所有的绘图操作,都在桌面这个窗口上显示,而定义一个CWindowDC类型的对象意味着它可以访问整个屏幕区域(包括客户区域和非客户区域),满足了本实验的要求,具体实现代码如下:

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档