摘 要:进入21世纪以来,电脑用户数迅速增长,网上的跨国交流也越见频繁,由于时差的关系,不同国家的作息不同,因此需要经常进行时间的切换。
本系统主要论述如何利用VC++6.0应用程序开发环境和微软基础类库(MFC),设计与实现一个基于对话框的多时区时钟软件。该软件主要包括时钟显示,闹钟报时以及计时器功能。其中,时钟显示包含单时区时钟显示和多时区时钟显示,计时器可实现倒计时与正常计时。利用MFC中与定时器相关的函数,实现计时和时钟的定时刷新;运用模运算实现不同时区的时间转换;采用多线程技术使三个时钟同时运行。
关键词:VC++;MFC;时钟;多线程
The design and realization of Multi_ time_ zone Clock
Abstract :Since the 21stCentury, the number of computer users has increased quickly,the communication among different countries on Internet becomes more and more frequent. Because of the time difference, every country has its own timetable, you need to switch the time frequently.
This system has discussed how to design and realize a clock with Visual C++6.0 and Microsoft Foundation Class. This software principally contains these functions: the display of clocks, alarm clock and timer. The function of clock display contains the displays of single time zone clocks and multi time zone clocks. The timer can realize functions of countdown and clock. Take use of the functions related to the timer in Microsoft Foundation Class library to implement time and regular update of the clocks; the time conversion of different time zone could use modular arithmetic to realize; and taking advantage of multithreading could make three clocks run at the same time.
Key words: Visual C++; MFC; clock; multithreading
1 引 言
1.1课题背景及意义
随着社会的发展,进入21世纪,个人电脑已经进入千家万户,人们已习惯于以互联网的方式交流,学习和娱乐。网上跨国交流也越见频繁,由于时差的关系,人们在浏览国外新闻时经常需要进行时间的换算。不同地区作息时间的不同也影响到人们的交流。因此,一种能显示多个时区时间的时钟程序,将给人们的生活与交流带来极大地方便。
1.2 课题的研究方法
通过对VC++可视化编程的学习以及各地区时间差的查询,本文主要采用MFC控件和多线程编程技术,以及三个与时间有关的函数SetTimer()、OnTimer()和KillTimer(),设计实现一个包含计时器功能和闹钟功能的多时区时钟程序。
2 程序功能描述
软件主要实现三个功能:时钟显示,闹钟以及计时器。具体功能如下
2.1 时钟显示
2.1.1 单时钟显示
实现三个时区时钟(北京时间,纽约时间,伦敦时间)的单独显示。在程序的主界面上,有一个日历,一个指针式时钟,一个时间显示框,一个确定按钮和一个取消按钮。
时钟切换:单击菜单[时钟显示]->[单时钟]->北京时间/纽约时间/伦敦时间。
整点报时:当时间为整点时,扬声器响相应次数。
日期显示:在日历控件上显示相应地区的当前日期。
单击[关闭]按钮,关闭主程序。
2.1.2 多时钟显示
实现三个时区时钟的同时显示及运行。
在主界面上,单击菜单[时钟显示]->[多时钟],弹出[多时钟显示]对话框。此对话框上有三个时钟同时运行,每个时钟有一个相对应的数字时间显示。
单击{关闭}按钮,将关闭此对话框。