}
DDV_MinMaxInt(pDX, m_day, 1, 31); DDX_Text(pDX, IDC_EDIT_HOUR, m_hour); DDV_MinMaxInt(pDX, m_hour, 0, 23);
DDX_Text(pDX, IDC_EDIT_MINUTE, m_minute); DDV_MinMaxInt(pDX, m_minute, 0, 59); DDX_Text(pDX, IDC_EDIT_MONTH, m_month); DDV_MinMaxInt(pDX, m_month, 1, 12);
DDX_Text(pDX, IDC_EDIT_SECOND, m_second); DDV_MinMaxInt(pDX, m_second, 0, 59);
BEGIN_MESSAGE_MAP(CSetting, CDialog)
ON_EN_CHANGE(IDC_EDIT_YEAR, OnChangeEditYear) ON_EN_CHANGE(IDC_EDIT_MONTH, OnChangeEditMonth) ON_EN_CHANGE(IDC_EDIT_DAY, OnChangeEditDay) ON_EN_CHANGE(IDC_EDIT_HOUR, OnChangeEditHour) ON_EN_CHANGE(IDC_EDIT_MINUTE, OnChangeEditMinute) ON_EN_CHANGE(IDC_EDIT_SECOND, OnChangeEditSecond) ON_NOTIFY(NM_OUTOFMEMORY,
IDC_SPIN_YEAR,
OnOutofmemorySpinYear)
END_MESSAGE_MAP()
BOOL CSetting::OnInitDialog() //对话框对编辑框控件的更新和设置 {
CDialog::OnInitDialog(); m_year=*year; m_month=*month; m_day=*day; m_hour=*hour; m_minute=*minute; m_second=*second;
m_syear.SetRange(1900,2999); m_smonth.SetRange(1,12);
24
}
m_sday.SetRange(1,31); m_shour.SetRange(0,23); m_sminute.SetRange(0,59); m_ssecond.SetRange(0,59); UpdateData(FALSE); return TRUE;
void CSetting::OnOK() //保存对话框的数据 { }
void CSetting::OnOutofmemorySpinYear(NMHDR*pNMHDR, LRESULT* pResult) { }
25
UpdateData();
if(m_year>=1900&&m_year<=2999&& { }
*year=m_year; *month=m_month; *day=m_day; *hour=m_hour; *minute=m_minute; *second=m_second; Invalidate(); CDialog::OnOK();
m_month>=1&&m_month<=12&& m_day>=1&&m_day<=31&& m_hour>=0&&m_hour<=23&& m_minute>=0&&m_minute<=59&& m_second>=0&&m_second<=59)
*pResult = 0;
5 课程设计总结
5.1 程序运行结果或预期运行结果
运行程序,画面首先获取系统时间,显示当时时间日期,如图5.1所示。
图5.1 主窗口界面
此后时间一直在运行,由于采用获取系统两秒之间的间隔进行刷新屏幕,所以计时几乎没误差,如图5.2所示,时间和电脑系统时间一致。
图5.2 当前系统时间
日期时间设置界面如图5.3所示。
26
图5.3日期时间设置界面
5.2 设计结论
通过这次面向对象程序设计课程设计,使我加深对类与对象的理解,使我能将学到的面向对象的程序设计思想用到具体的工作和学习中。通过课程设计,我学得了很多书本上没有的知识,比如获取键盘按键消息的函数和延时的设计。在开始设计时,遇到很多问题,就比如延时的问题,尝试了几种方法,但经过对问题的分析和思考,最终把问题解决了,选择了通过获取两秒间隔来计时的方法。所谓读万卷书不如行万里路,编程要靠练习才能学好,这次课程设计让我受益匪浅。
参考文献
[1] 张福祥. C语言程序设计[M]. 辽宁大学出版社,2008.1
[2] 马石安,王魏文平.面向对象程序设计教程(C++语言描述) [M].北京:清华大学社,2007
[3] 杨喜林, 杨亮, 杨杨. 可视化程序设计Visual C++ [M].北京理工大学出版社,2010.2
致 谢
这次课程设计能够顺利完成,首先非常感谢我们的指导老师陈智,是老师传授我知识,教会我编程的方法和思路,还有感谢一些在我有困难时给予我帮助的同学。
27