VC软件设计简易时钟显示设计

上传人:飞*** 文档编号:30955842 上传时间:2018-02-03 格式:DOC 页数:9 大小:85KB
返回 下载 相关 举报
VC软件设计简易时钟显示设计_第1页
第1页 / 共9页
VC软件设计简易时钟显示设计_第2页
第2页 / 共9页
VC软件设计简易时钟显示设计_第3页
第3页 / 共9页
VC软件设计简易时钟显示设计_第4页
第4页 / 共9页
VC软件设计简易时钟显示设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《VC软件设计简易时钟显示设计》由会员分享,可在线阅读,更多相关《VC软件设计简易时钟显示设计(9页珍藏版)》请在金锄头文库上搜索。

1、成 都 信 息 工 程 学 院课 程 设 计简易时钟显示设计薛 昊(310081002013)指导老师: 王中科 提交日期:2010-12-24 I简易时钟显示设计摘 要本文讨论的是基于 Visual C+ 6.0 平台所设计的简易时钟显示程序。本设计使用定时器,并通过调用绘图函数,画出模拟的时钟表盘,其秒针每秒钟跳动一次。除此之外,本时钟还有整点和半点报时功能。通过本设计,我们进一步掌握 Visual C+应用程序,系统地学习面向对象编程思想,了解 MFC 架构,逐步熟悉可视化编程环境 Visual C+。关键字:Visual C+; 时钟I目 次总页数:6 页1、绪论 .1.1 选题意义

2、.1.2 设计目标 .2、开发环境 .3、需求分析 .4、系统设计 .4.1 概要设计 .4.2 详细设计 .(1) 、步骤一:创建应用程序框架。 .(2) 、步骤二:删除不需要的菜单资源。 .(3) 、步骤三:添加消息映射和处理函数。 .(4) 、步骤四:定时器的创建和销毁。 .(5) 、步骤五:定义必要的成员变量和成员函数。 .(6) 、步骤六:编写绘制表盘和指针的代码。 .(7) 、步骤七:添加定时器消息响应函数代码。 .(8) 、步骤八:添加视窗大小改变时的消息响应代码。 .(9) 、步骤九:编译运行该程序。 .5、测试 .6、结论 .1、绪论1.1 选题意义此设计选择意义在于引导学生

3、学会设计简单的时钟显示窗口,进一步掌握Visual C+应用程序,系统地学习面向对象编程思想,了解 MFC 架构,逐步熟悉可视化编程环境 Visual C+,并在此环境下设计并实现一个简易时钟显示程序。1.2 设计目标使时钟显示含有一下功能:(1) 、基本功能:实现模拟时钟表盘,时针,分针以及秒针的显示。(2) 、计时功能:显示当前的时间,并且秒针每秒跳动一次,分针每分钟跳动一次,时针每小时跳动一次。(3) 、报时功能:时钟在整点和半点的时候具有报时的功能。2、开发环境本设计基于 Microsoft Visual C+ 6.0 实现的。3、需求分析该简易时钟显示程序的具体描述如下:本设计使用定

4、时器,并通过调用绘图函数,画出模拟的时钟表盘,其秒针每秒钟跳动一次。除此之外,本时钟还有整点和半点报时功能。可以让用户实时的显示当前时间,方便快捷。4、系统设计4.1 概要设计本设计使用定时器,并通过调用绘图函数,画出模拟的时钟表盘,其秒针每秒钟跳动一次。除此之外,本时钟还有整点和半点报时功能。4.2 详细设计(1) 、步骤一:创建应用程序框架。在 VC 开发环境中选择菜单 File-New,在 New 对话框中选择 Projects 标签,从左边的列表中选择 MFC AppWizard(exe),在右侧的 Project Name 框中输入工程名:Clock,单击 OK 按钮,启动 MFC

5、的应用程序向导 AppWizard,在 MFC AppWizard 的第一步中选择 “Single Document”,在 MFC AppWizard 的第二步和第三步均接受默认设置,在 MFC AppWizard 的第四步中取消工具栏、状态栏、打印与预览等特性前面的复选框,使工程不包含这些内容,在第五步仍接受默认设置,在第六步单击“finish”按钮,单击 OK 按钮,生成 Clock 工程。(2) 、步骤二:删除不需要的菜单资源。选择 ResourceView 面板,单击加号,展开菜单资源,双击IDR_MAINFRAME 菜单资源,在右侧的资源编辑器中,删除所有不需要的菜单项,只留下“文件

6、/退出”和“帮助”菜单项,(3) 、步骤三:添加消息映射和处理函数。按 Ctrl+W 键,打开 ClassWizard,选择其中的 Message Maps 标签,在Class name 栏中选中 CClockView,在 Object Ids 列表框中选中 CClockView,在Message 列表框中选中 WM_CREATE 消息,单击 Add Function 按钮,则OnCreate 函数出现在下面的成员函数列表中,再分别在 Messages 列表框中双击WM_DESTROY、WM_PAINT、WM_SIZE 消息,添加相应的处理函数:OnDestry、OnPaint 、OnSize

7、,(4) 、步骤四:定时器的创建和销毁。我们要在视窗的创建和关闭同时进行定时器的创建和销毁。在 ClassWizard对话框中,从成员函数列表中选择 OnCreate 函数,单击 Edit Code 按钮,打开ClockView.cpp 文件,定位到 OnCreate 函数的首部,向其中添加如下代码(SetTimer(1,1000,NULL); ) 。添加的这一行代码定义了一个标号为 1 的定时器,并且定时为 1 秒。将光标定位到 OnDestroy()函数中,向其中添加如下代码(KillTimer(1);) 。这句代码将在视窗关闭时销毁定时器 1。(5) 、步骤五:定义必要的成员变量和成员函

8、数。选择 ClassView 面板,单击加号,展开该工程的类列表,双击 CClockView类名,在右侧的文件编辑器中打开 ClockView.h 文件,在其中定义以下的保护类型成员变量。然后再定义以下公有类型的成员函数。protected:int cxClient;int cyClient;SYSTEMTIME stPrevious;BOOL fChange;CDC *pdc;HDC hdc;PAINTSTRUCT ps;SYSTEMTIME st;public:void SetIsotropic(HDC hdc, int cxClient, int cyClient);void DrawC

9、lock(HDC hdc);void DrawHands(HDC hdc, SYSTEMTIME* pst, BOOL fChange);void RotatePoint(POINT pt, int iNum, int iAngle);其中 SetIsotropic 函数用于设置各向同性的映射模式;DrawClock 函数用于绘制表盘;DrawHands 函数用于画表针。 RotatePoint 函数用于绘制表盘上的点和表针时所必须的旋转计算,该函数要用到三角函数运算,因此需要 math.h 头文件的支持。(6) 、步骤六:编写绘制表盘和指针的代码。在 ClassView 面板中单击 CClo

10、ckView 类前面的加号,然后双击CClockView 类的 OnPaint()函数。在其中添加如下代码:GetLocalTime(stPrevious=st;hdc=(HDC)dc;SetIsotropic(hdc,cxClient,cyClient);SelectObject(hdc,GetStockObject(BLACK_PEN);DrawClock(hdc);DrawHands(hdc,该函数进行初始化窗口的绘制,首先获取当前时间,然后调用 SetIsotropic函数设置映射模式和窗口范围,调用 SelectObject 设置画笔,再调用 DrawClock函数画表盘,最后调用

11、DrawHands 函数画指针。因此需要在该文件的后面依次添加如下的成员函数代码:一、SetIsotropic 函数void CClockView:SetIsotropic(HDC hdc,int cxClient, int cyClient)SetMapMode(hdc,MM_ISOTROPIC);SetWindowExtEx(hdc,1000,1000,NULL);SetViewportExtEx(hdc,cxClient/2,-cyClient/2,NULL);SetViewportOrgEx(hdc,cxClient/2, cyClient/2,NULL);在 SetIsotropic 函数中,首先调用 SetMapMode 设置各向同性映射模式,然后将窗口范围设置为 1000*1000,然后设置视图的范围和原点。二、DrawClock 函数void CClockView:DrawClock(HDC hdc)int iAngle;POINT pt3;for (iAngle=0;iAnglewHour*30)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号