数字时钟程序总结

本文总结了一个基于对话框的数字时钟程序设计,详细介绍了程序框架、思想及所用到的类和函数。通过四步实现数字时钟显示:1) 静态控件关联类;2) 设置时间消息ONTimer(); 3) 获取并传递当前时间;4) 使用七段式显示数字。关键在于数字定位和七段显示,通过CRgn类创建多边形并填充颜色,使用双缓存避免闪烁。
摘要由CSDN通过智能技术生成

昨天看到一个制作数字时钟的程序,觉得很有意思,便拿来研究了一下,为了防止忘记,先总结一下,以备不时只需。

一  整个程序的框架

数字时钟程序是使用了基于对话框的框架来编程的。包括了四个类:CAoutDlg,CDigitalClock,CMyClockApp,CMyClockDlg类,其中,CDigitalClock类中包含了对数字时钟显示所需要的变量和函数,且他是由CStatic类派生而来。

1)先在对话框中放置了一个静态文档,并与CDigitalClock类的对象进行关联,以确保能够完成数据间的传递。

2)在CMyClockDlg类中添加时间消息ONTimer( ),并在对话框初始化函数中使用SetTimer( )函数来触发事件消息。

3)在时间消息响应函数ONTimer()中使用CTime::GetCurrentTime()获取当前的时间并传递给CDigitalClock类的变量,以保存现时刻的时间

4)得到了当前的时间之后,最重要的是要显示出这个时间。程序采用了七段式的数字显示方式,数字在显示过程中,先定位了离静态文档起始点的距离,数字与数字之间的间隔,以及数字的宽度,而数字的高度则是两个宽度,数字的宽度大小是控件高度的一半。要显示出的时间的格式是小时:分钟:秒,且是24小时格式显示,这就需要有两个数字来显示小时,两个数字来显示分钟以及两个数字来显示秒,就占了6个数字的宽度,为了保此美观,中间的"点"也占一个数字的宽度,这样,整个显示数字区的应该是8×数字的宽度+3×数字之间的间隔。

使用m_width表示数字的宽度,m_xmargin表示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值