课程设计指针式时钟.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计指针式时钟

XX大学 课程设计说明书 学生姓名: 学 号: 学 院: 专 业: 题 目: 指针式时钟 指导教师:? 职称: 2013 年 1 月 11 日 XX大学 课程设计任务书 12/13 学年第 一 学期 学 院: 专 业: 学 生 姓 名: 学 号: 题 目: 指针式时钟 起 迄 日 期: 课程设计地点: 指 导 教 师: 系 主 任: 下达任务书日期: 2012年12月24日 课 程 设 计 任 务 书 1.设计目的: 综合应用VC++的各种编程知识和技巧进行程序设计的能力,最终掌握面向对象的编程技术。通过本次课程设计,培养自主学习和独立创新能力。 2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等): 功能说明: 使用计时器创建一个时钟。 (1)计时器是程序中最常用的后台任务机制之一,其时间间隔最低约55毫秒,被广泛用于时钟、磁盘备份程序或需要在某一时刻运行的程序等。 (2)多媒体计时器能编程设定1毫秒或者更小,它是诸如MIDI序列发生器之类的专用型应用程序的理想选择,在Windows API中有很多查询时钟的函数,利用它们就可以编写出高精度的计时器。 设计方案: 程序所实现的功能:运行界面是一指针式时钟,有时分秒三个指针,有12个钟点数字的显示,并通过指针的转动来实现时间的更新。 设计分析: 了解两个函数:CWnd::SetTimer()函数用来设置一个计时器以指定的时间间隔触发,CWnd::KillTimer()函数用来使一个正在运行的计时器停止。建立一个MFC单个文档应用程序工程;打开MFC ClassWizard,为1view类添加OnCreate和Ontimer函数,在视图类中添加3个方法:编辑OnCreate方法的代码,用来设置时钟。编辑OnTimer方法用来更新窗口。编辑OnDraw方法的代码,实现绘制时钟。创建视图消息处理函数,初始化计时器,通过一个计时器消息,使视图一秒发送一次消息,以保证时间的准确性。计时器消息处理函数。流程图如下: 开始 绘制椭圆 绘制钟点 绘制时钟、分钟、秒钟针 初始化计时器 计时器处理 结束 。本题主要涉及到的知识点有:时钟指针运动算法、屏幕重绘方法、定时器消息、菜单命令、对话框、画笔/画刷、显示文字等。指针运动算法和屏幕重绘方法是本程序主要难点所在。 不论何种指针,每次转动均以π/30弧度(一秒的角度)为基本单位,且都以表盘中心为转动圆心。计算指针端点(x, y)的公式如下: x =圆心x坐标 + 指针长度 * cos (指针方向角) y =圆心y坐标 + 指针长度 * sin (指针方向角) 注意,指针长度是指自圆心至指针一个端点的长度(是整个指针的一部分),由于指针可能跨越圆心,因此一个指针需要计算两个端点。 三个指针的运动是相关联的,秒针转一圈引起分针运动一格,分针转一圈引起时针运动一格,因此应该使用一个定时器消息来处理指针的运动。 (1) OnDraw()函数实现对系统时间的获取和绘制椭圆表面和时钟指针。 (2) 设置计时器,创建窗口时启动一个计时器不断发出WM_TIMER消息,调用SetTimer()函数。 (

文档评论(0)

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

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

1亿VIP精品文档

相关文档