用C编写模拟时钟程序

用C编写模拟时钟程序

ID:41751270

大小:165.19 KB

页数:9页

时间:2019-08-31

用C编写模拟时钟程序_第1页
用C编写模拟时钟程序_第2页
用C编写模拟时钟程序_第3页
用C编写模拟时钟程序_第4页
用C编写模拟时钟程序_第5页
资源描述:

《用C编写模拟时钟程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、模拟时钟程序1基本功能描述本次课程设计是基于面向对象的应用程序设计,主要运用C++语言在VC++开发环境下的MFC屮编程实现。模拟时钟的基本功能是程序初始在屏幕上有一指针式时钟表盘,表盘为椭圆形,内部分布有12个刻度,表盘上有三个长度和颜色不同的时针分针和秒针,相互之间容易辨认,指针的运动通过数学推导之后以代码实现。表盘的下方是一个数字形式显示的数字钟,其显示时间的格式是时:分:秒,扌詡•式时钟和数字式时钟显示的时间同步,且两个时钟所显示的时间与系统时间相致,页面的菜单项设有时间设置项,可以对所显示的时间进行调整,能进行调整的具

2、体内容是年、丿」、FI、时、分、秒。设计成功之后,此应用程序便可以起到时钟显示的作用。2设计思路2.1程序流程图图1模拟时钟程序流程图2.2程序流程分析(1)绘制指针式的时钟和数字式的时钟图形时,要在CView类下进行。其中OnDraw()函数在绘制视图窗口时被调用,在定义了画刷CBrush和画笔CPen之后,调用GetClientRectO定义屏幕大小并确定椭圆中心的坐标,然后调用Ellipse绘制椭圆,即指针式的时钟表盘,SetTextColor绘制文本颜色,调用MoveTo和LineTo绘制表盘指针,同时调用CreateF

3、ont()^iJ建数字钟字体,TextOut则是用以数字钟的文本输出。(2)模拟时钟处理消息的过程:首先调用SetTimer函数定义时钟消息,包括参数指定计时器的ID,消息产生的时间间隔,冋调函数为NULL;调用消息处理函数OnTimer()刷新窗口显示。在相应的WM.TIMER消息处理里添加时钟消息响应代码;最后调用KillTimer释放该时钟。(3)要实现时钟的动态效果,即时间窗显示的时间毎隔一秒钟更新一次,需要在时间窗格的正文调用CStatusBar::SetPaneText()i^

4、数。要定时更新,则应利用WM_TIME

5、R消息,计时器每隔一定的时间间隔就会发出一个WM.TIMER消息,而这个时间间隔可由用户指定。MFC的Windows类提供了WM_TIMER消息处理函数OnTimer(),应在该函数内进行更新时间窗格的工作。先利用ClassWazard给CMainFrame类加入WMTIMER消息处理函数OnTimer(),CMainFrame::OnTimer()函数是在系统发给框架窗口消息WM.TIMER时调用的,在CMainFrame::OnCreate()函数内调用CWnd::SetTimer()以安装一个计时器,使OnTimer()在

6、设定的时间间隔被调用。(4)通过调用GetCurrentTime()函数来实现时钟时间与计算机系统时间保持一致,,在时间与计算机同步后,然后在FileView选项卡中的SourceFile资源组里面的littlelDoc.cpp中的voidClittlelDoc::OnEditSet()添加相应的变量以实现对时间的调整。(1)在程序设计过程之中添加“时钟控制”菜单,用菜单项控制弹出对话框设置时间,使时钟达到可调的效果。(2)程序运行正常,界面设置合理,指针式的时钟和数字式的时钟的运动达到任务书的要求,并且能用菜单项控制对话框以实

7、现对当前时间的调整,程序达到各项功能之后,退岀界面,程序结束。3软件设计3.1设计步骤(1)用AppWizard创建一个单文档的的MFC工程,将之命名为little10所有步骤均使用AppWizard给出的默认设置。(2)编辑项目的菜单资源,在主框架窗口的主菜单(IDR_MAINFRAME)中添加一个名为“时钟控制”的下拉菜单。在“时钟控制”菜单屮添加三个菜单选项“启动时钟”、“停止时钟”和“时间设置”。并在菜单属性项中设定“启动时钊菜单的ID标号为ID_START,“停止时钟”菜单的ID标号为ID_STOP,“时间设置”菜单的

8、ID标号为ID_SETTIMEo图2“吋钊

9、控制”菜单效果(3)利用ClassWizard为视图类添加菜单命令处理函数。进入ClassWizard的MessageMaps选项卡,选择ClassName项为ClittlelView类,在ObjectIDs列表框中分别选择新添加的菜单选项的ID,在Messages列表框中选择COMMAND,按下AddFunction按钮添加成员函数。ClassWizard会为“启动时钟”、“停止时钟”和“时间设置”菜单选项添加相应的消息响应函数OnStart()、OnStop()和OnSettime

10、()。(4)利用ClassWizard为视图类添加定时器和鼠标消息处理函数。进入ClassWizard的MessageMaps选项卡,选择ClassName项为ClittlelView类,在Messages列表框中分别选择定时器消息WM.TIMER和鼠标消息WM

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。