1.创建一个基于对话框的应用程序;
2.在对话框中添加4个static控件,两用于提示,两个用于显示日期,时间:
同时修改日期static的ID和时间static的ID:
3.改写CGetTimeDlg类中OnInitDialog()函数,获取当前时间,并将其显示到对话框界面。生成一个定时器,为及时更新时间做好准备:
在函数中添加相应的代码:
BOOL CGetTimeDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 将“关于...”菜单项添加到系统菜单中。
.
.
.
.
// TODO: 在此添加额外的初始化代码
SYSTEMTIME sti;
CString data,time;
GetLocalTime(&sti); //获取本地时间
data.Format(L"%4d-%2d-%2d",sti.wYear,sti.wMonth,sti.wDay); //将日期格式化为字符串
time.Format(L"%d:%d:%d",sti.wHour,sti.wMinute,sti.wSecond); //将时间格式化为字符串
GetDlgItem(IDC_DATA)->SetWindowText(data); //显示日期
GetDlgItem(IDC_TIME)->SetWindowText(time); //显示时间
SetTimer(1,1000,NULL); //设置定时器,程序一经启动,即可开始计时
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
4.给对话框CGetTimeDlg添加定时器处理函数:
同时在消息处理函数中添加相关代码:
void CGetTimeDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
SYSTEMTIME sti;
CString data,time;
GetLocalTime(&sti);//获取本地时间
data.Format(L"%4d-%2d-%2d",sti.wYear,sti.wMonth,sti.wDay);//将日期格式化为字符串
time.Format(L"%d:%d:%d",sti.wHour,sti.wMinute,sti.wSecond);//将时间格式化为字符串
GetDlgItem(IDC_DATA)->SetWindowText(data);//显示日期
GetDlgItem(IDC_TIME)->SetWindowText(time);//显示时间
CDialogEx::OnTimer(nIDEvent);
}
5.程序运行效果: