小学期设计报告.docx

上传人:b****1 文档编号:10554636 上传时间:2023-05-26 格式:DOCX 页数:10 大小:122.58KB
下载 相关 举报
小学期设计报告.docx_第1页
第1页 / 共10页
小学期设计报告.docx_第2页
第2页 / 共10页
小学期设计报告.docx_第3页
第3页 / 共10页
小学期设计报告.docx_第4页
第4页 / 共10页
小学期设计报告.docx_第5页
第5页 / 共10页
小学期设计报告.docx_第6页
第6页 / 共10页
小学期设计报告.docx_第7页
第7页 / 共10页
小学期设计报告.docx_第8页
第8页 / 共10页
小学期设计报告.docx_第9页
第9页 / 共10页
小学期设计报告.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

小学期设计报告.docx

《小学期设计报告.docx》由会员分享,可在线阅读,更多相关《小学期设计报告.docx(10页珍藏版)》请在冰点文库上搜索。

小学期设计报告.docx

小学期设计报告

沈阳师范大学科信软件学院

小学期课程设计报告

课题名称:

模拟时钟转动程序

姓名:

姜丽红

学号:

10008075

专业年级:

软件10级7班

 

2011年6月30日

 

一、系统功能简介:

该程序主界面有一个时钟和万年历,时钟能够读取系统时间并模拟机械表的运转,万年历显示当前时间。

菜单栏有“闹钟”、“多时区”、“倒计时”和“计时器”四项。

单击闹钟菜单将会出现闹钟设置对话框,可以设置闹钟,有三种铃声可供选择,同时提供铃声试听功能。

单击“多时区”菜单会用模拟时钟和数字时钟显示北京、东京、巴黎的时间。

“倒计时”和“计时器”分别实现倒计时和计时功能。

 

二、总体设计:

程序编写运用VC++6.0的MFC,本题主要涉及到的知识点有:

时钟指针运动算法、屏幕重绘方法、定时器消息、菜单命令、对话框、画笔/画刷、显示文字,声音播放等。

指针运动算法和对话框的响应是本程序主要难点所在。

不论何种指针,每次转动均以π/30弧度(一秒的角度)为基本单位,且都以表盘中心为转动圆心。

分别用3个函数完成时针、分针和秒针的计算坐标,设定样色和绘制工作。

设置5个对话框,对应主界面,闹钟,多时区,倒计时和计时器功能。

每个对话框分别对应一个类。

实现相应的功能。

三、详细设计:

1、用AppWizard生成一个名为Clock的单文档(SDI)程序框架。

2、在ResourceView的Dailog中添加5个对话框,

分别做如下设置:

主窗口:

 

多时区:

闹钟:

 

倒计时:

计时器:

分别设置各对话框的ID和属性,5个对话框分别对应主界面、闹钟、多时区、倒计时和计时器。

3、设计好这些对话框模板后,分别利用ClassWizard自动建立对话框类。

进入ClassWizard后,它会发现已建立的对话框模板资源,并弹出一个对话框询问是否要为该对话框模板建立类。

按下“OK”按钮,会弹出NewClass对话框,在Name栏填写对话框类的名称后按“OK”按钮,即可为对话框创建一个对应的类。

4、为了简化菜单,删除系统原有的“文件”、“编辑”等菜单项。

编辑项目的菜单资源,在主框架窗口的主菜单(IDR_MAINFRAME)中添加名为“闹钟”、“多时区”、“倒计时”、“计时器”的非下拉菜单,分别设置属性为IDM_Time1、IDM_OtherTime、IDM_LastTime。

5、利用ClassWizard为视图类添加菜单命令处理函数。

进入ClassWizard的MessageMaps选项卡,选择ClassName项为CClockView类,在ObjectIDs列表框中分别选择新添加的菜单选项的ID,在Messages列表框中选择COMMAND,按下AddFunction按钮添加成员函数。

ClassWizard会为各菜单选项添加相应的消息响应函数。

6、利用ClassWizard为对话框类添加与各控件对应的数据成员。

选择MemberVariables选项卡,确保ClassName项为对所需对话框类,然后在选项卡下方的窗口中选择各控件的ID并按下“AddVariable…”按钮,为其添加对应成员变量。

7、CClockDlg是程序的主界面类,时连接个对话框实现其功能的窗口。

在ClockDlg.cpp加入

#include"clockDlg.h"

#include"OtherTimeDlg3.h"

#include

#include"Time11.h"

#include"wangmsh.h"

#include"ww.h"

使其包含各个头文件。

CClockGlg类包含如下数据成员和成员函数:

定义了各个针的坐标变量,时间显示的字符串和绘制个针的函数。

8、下面是DrawHour函数,用来获取时针坐标和绘制时针,分针与秒针的DrawMinute和DrawSecond的函数与其类似,只是颜色RGB与长短设置不同:

9、主体部分绘制完毕,开始让时钟转动。

利用ClassWizard为视图类添加定时器。

进入ClassWizard的MessageMaps选项卡,选择ClassName项为CClockDlg类,在Messages列表框中选择定时器消息WM_TIMER,按下AddFunction按钮添加成员函数。

ClassWizard会添加相应的定时器函数OnTimer。

在OnInitDialog程序结尾处添加函数

SetTimer(2,1000,NULL),其作用是延时1秒并调用定时器函数OnTimer。

10、在OnTimer函数中添加如下代码:

GetCurrentTime函数可以获取系统时间,然后调用DrawSecond,DrawMinute,DrawSecond函数进行各个针的绘制,Invalidate函数实现窗口重绘,这样就实现了时间的即时刷新,使时间和系统时间同步。

11、分别在OnOtherTime,OnTime1,Ondaojishi,OnMenuitem32777各个窗口响应函数中添加DoModal函数,使其点击菜单时弹出相应的对话框。

13、在COtherTimeDlg类中添加DrawHour,DrawHour1,DrawHour2函数,用来显示3个地点的小时时间,函数与CClockDlg类中的相同,分钟和秒同样设置。

14、同样在COtherTimeDlg类中添加定时器消息WM_TIMER,在OnTimer函数中添加如下代码:

这样就可以同显示3个时区的时间并刷新。

15、在Time11类中对应各个功能按钮的函数中添加代码,

在OnButton2函数中添加如下代码:

用PlaySound函数播放选定的闹钟铃声。

16、在OnPaint函数中添加如下代码:

使其在设定闹铃的时刻提示“时间到了!

”,同时调用Onbutton2函数闹钟铃声。

17、程序的主体大致完成,下面添加程序所需要的资源。

点击VC出入菜单,选资源,出现对话框后点引入,找到要插入的wav格式的声音文件,选取后确定,修改其ID,这样这个声音就可以作为闹钟铃声了。

 

四、系统测试:

运行程序,检查窗口是否正常显示,万年历是否正常运行,日期是否准确。

单击闹钟看是否显示对话框,检查能否设置闹钟,响铃是否正常。

进入多时区选项,检查是否显示对话框,时钟时间是否与数字时钟一致。

接下来进入倒计时,看是否显示对话框,设定时间看是否正常运行。

最后进入计时器,看是否弹出对话框,数字时钟是否正常计时。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2