ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:268.94KB ,
资源ID:10030384      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10030384.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MFC的大屏幕数字时钟.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MFC的大屏幕数字时钟.docx

1、基于MFC的大屏幕数字时钟大屏幕显示数字时钟设计 姓名:谭X 指导教师:XXX 专业:XXXXXXXXX 年级:20XX级摘要本设计基于MFC,MFC是微软公司提供的一条类库,是一种应用程序框架,随微软Visual C+开发工具发布,以C+类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC:微软基础类(Microsoft Foundation Classes),同VCL类似,是一种应用程序框架,随微软Visual C+开发工具发布。目前最新版本为10.0

2、,并且发布了中文版。该类库提供一组通用的可重用的类库供开发人员使用,大部分类均从CObject 直接或间接派生,只有少部分类例外。MFC应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。MFC 提供了MFC AppWizard 自动生成框架。Windows 应用程序中,MFC 的主包含文件为Afxwin.h。此外MFC的部分类为MFC/ATL 通用,可以在Win32 应用程序中单独包含并使用这些类。 由于它的易用性,初学者常误认为VC+开发必须使用MFC,这种想法是错误的。作为Application Framework,MFC的使用只能提高某

3、些情况下的开发效率,只起到辅助作用,而不能替代整个Win32 程序设计。关键字:MFC;大屏显示幕数字时钟;C+。Large screen display digital clock designName:Chen Tan Tutor:Jijie Bi Major:Electronics and Communications Engineering Grade: 2013Abstract This design is based on the MFC, MFC is Microsoft provides a class library,is a kind of application fram

4、ework,along with the Microsoft Visual c+development tools, in the form of c+class encapsulates the Windows API, and contains an application framework, in order to reduce the workload application developers.Handle to the class contains a large number of Windows which contains wrapper class and many W

5、indows built-in controls and component wrapper class.MFC: Microsoft Foundation Classes (Microsoft Foundation Classes), with the VCL, is a kind of application framework, along with the Microsoft Visual c+development tools.Currently the latest version is 10.0, and release the Chinese version.The class

6、 library provides a set of generic reusable class library for developers, most of the classification are directly or indirectly derived from CObject, only a few exceptions.The overall structure of the MFC applications usually derived by the developer from MFC class several classes and class a CWinAp

7、p object (the application object).MFC provides a MFC AppWizard framework automatically generated.Windows application, MFC master include file for Afxwin.H.Also part of the MFC class for MFC/ATL general, can separate in the Win32 application contains and use these classes.Because of its ease of use,

8、often mistaken for beginners vc+ evelopment must use MFC, this idea is wrong.As an Application Framework, the use of MFC can only improve the efficiency of the development of some cases, only play a supplementary role, and does not replace the Win32 programming.Key words:MFC;Screen display digital c

9、lock;C+.第1章 绪论1.1 MFC简介MFC(Microsoft Foundation Classes),是微软公是微软公司提供的一条类库司提供的一条类库(class libraries),以C+类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC:微软基础类(Microsoft Foundation Classes),同VCL类似,是一种应用程序框架,随微软Visual C+开发工具发布。目前最新版本为10.0,并且发布了中文版。该类库提供一组通

10、用的可重用的类库供开发人员使用,大部分类均从CObject 直接或间接派生,只有少部分类例外。MFC应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。MFC 提供了MFC AppWizard 自动生成框架Windows 应用程序中,MFC 的主包含文件为Afxwin.h此外MFC的部分类为MFC/ATL 通用,可以在Win32 应用程序中单独包含并使用这些类。由于它的易用性,初学者常误认为VC+开发必须使用MFC,这种想法是错误的。作为Application Framework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能

11、替代整个Win32 程序设计。1.2 立项意义 本设计难度不大,主要是培养对MFC基础的学习和认识,并培养动手能力以及独立思考能力。1.3 设计要求1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2)系统设计要实用,编程简练,可用,功能全面;3)记录设计情况(备查,也为编写设计说明书作好准备);4)要求采用模块化程序设计方法,要求上机调试通过和按设计报告格式。第2章 方法步骤2.1 总框架图1.1 系统总框架首先获取系统当前时间,通过GetLocalTime(&locTm)函数,之后分成三部分完成此设计。第一部分是设置一个

12、计时器,每隔一秒钟显示一次当前时间;第二部分是改变系统背景画面;第三部分是小闹钟的设计。2.2 时钟部分2.2.1 时钟流程图 否 是 图1.2 时钟流程图首先执行SetTimer(1,1000,NULL)函数,执行计数功能,SetTimer创建一个计时器,1:代表计时器的名称,1000代表计时器的时间间隔,为1000ms=1s,NULL对应的函数是OnTimer。OnTimer函数用来获取系统实现,并执行Format函数,对控件内的内容格式化。执行SetDlgItemText函数,在其控件上显示时间字符串。此时如果不点击退出,系统继续计时,若果点击退出,执行执行KillTimer函数,删除计

13、数器,结束系统。2.2.2 时钟相关函数1)Ctime 类 Ctime t=Ctime:GetCurrentTime();/获取当前时间,并赋值给t。2)Cstring str;/字符串类3)Format(xxxx);/格式化4)Ctime 里有三个函数: SetTimer(1,1000,NULL);OnTimer();KillTimer(1)。 Ctrl +w 调出classwizard(类引导)在Message(消息)中选择WM_Timer 才能在工程里加入OnTimer();函数;这三个函数的作用分别是SetTimer创建一个计时器,1:代表计时器的名称,1000代表计时器的时间间隔,为

14、1000ms=1s,NULL对应的函数是OnTimer ;也就是说用SetTimer(1,1000,NULL)创建计时器后OnTimer函数每隔一秒就会执行一次;KillTimer();用来删除这个计时器,释放内存;当然SetTimer(1,1000,NULL)的第一个参数1也可以改,相对应的在OnTimer函数中:Ontimer(UINT nIDEvent)switch (nIDEvent)Case 1: .;break;Case 2:.break;Case 3:.break;.5)还有几个函数 SetDlgItemText(ID_NAME,str);在名为ID_NAME的控件上显示字符串s

15、tr。6)再来说一下Format();对时间t进行字符串可是转化有两种表示方法:CTimet=CTime:GetCurrentTime();CStringstr;str.Format(%02d:%02d:%02d,t.GetHour(),t.GetMinute(),t.GetSecond();str=t.Format(%H : %M : %S );若要显示年(%Y)月(%m)日(%d),则可表示为str=t.Format(%Y-%m-%d %H:%M:%S)。2.2.3 时钟部分运行结果此部分为时钟部分运行结果,还没有修改系统背景图画以及加入闹钟部分: 图3 时钟部分运行结果2.3 修改背景画

16、面2.3.1相关函数void CMyDlg:OnPaint() if (IsIconic() CPaintDC dc(this); / device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/设置背景 / Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClien

17、tRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; / Draw the icon dc.DrawIcon(x, y, m_hIcon); else CDialog:OnPaint(); 2.3.2 修改画面运行结果图4 修改系统画面结果2.4 设置闹钟2.4.1 闹钟流程图 否 是 是 否 否 是 图5 闹钟流程图 首先获取系统时间,在edit控件中输入闹钟时间以及要显示的文字,判断时间格式是否正确,如果不正确,显示“请输入正确时间!”并且重新输入时间

18、,如果正确,判断是否点击试听按钮,如果点击,则播放闹钟试音,否则点击设置闹钟。此时印用SetTimer(1,1000,NULL)函数时间计数器,判断输入时间是否与系统时间一至,是则播放闹钟声音并显示文字,否则继续时间计数,知道与输入的时间一致。2.4.2 闹钟相关函数三个编辑框添加三个成员m_hour,m_minutes,m_second然后在classview 选项卡下选择onpaint()添加一个计时器SetTimer(1,1000,NULL);选择Ontimer()添加代码/获取当前系统时间显示到静态文本框time上CTime t = CTime:GetCurrentTime();str

19、.Format(%d时%d分%d秒,t.GetHour(),t.GetMinute(),t.GetSecond(); SetDlgItemText(time,str);/判断当前时间与设定时间是否一致 if (s=str) PlaySound(ring1134.wav,NULL,SND_FILENAME|SND_ASYNC); MessageBox(NULL,TIMEs UP!,MB_OK); 双击设闹钟按钮添加如下代码,将输入的时间与系统时间比对,相同触发提醒事件:CString h,m,c;m_hour.GetWindowText(h);m_minutes.GetWindowText(m);m_second.GetWindowText(c);s =h+时+m+分+c+秒;MessageBox(s,设定成功,MB_OK);由于程序用到了playsound 函数,在代码开始的地方添加#include 。2.4.3 闹钟运行结果 图6 闹钟运行结果第3章 总结通过对大屏幕数字显示时钟的设计,我对MFC有了初步的了解,相信对将来有很大的帮助。同时,我也巩固了独立思考的能力。当然,大屏幕数字时钟的设计只是简单的设计,我同过本次设计学到的东西也有限,我会同过自己的不断努力,完善这方面的知识。参考文献

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1