通过使用DataTimePicker控件获取系统的日期,然后把系统的时间显示到窗口的StaticText控件中。
工具/原料
MicrosoftVisualStudio2010
方法/步骤
1、新建一个基于对话框的应用程序,应用程序名称为GetDataTime。
2、对对话框进行如下图的设计,添加一个DataTimePicker控件和三个StaticText控件。
3、双击DataTimePicker控件在其相应函数OnDatetimechangeDat娣定撰钠etimepick髫潋啜缅er2()中添加一下代码://当DateTimePicker日期改变时voidCGetDataTimeDlg::OnDatetimechangeDatetimepicker2(NMHDR*pNMHDR,LRESULT*pResult){ UpdateData(true); //日期改变了 //设置系统时间 SYSTEMTIMEtime; GetSystemTime(&time); //获取当前时间,填充time中的其他的值 time.wYear=m_pickerTime.GetYear(); //修改年 time.wMonth=m_pickerTime.GetMonth(); //月 time.wDay=m_pickerTime.GetDay(); //日 intf=SetSystemTime(&time); f=GetLastError(); *pResult=0;}
4、为类CGetDataTimeDlg添加WM_TIMER消息
5、并在WM_TIMER的响应OnTimer()函数中添加一下代码:voidCG娣定撰钠etDataTimeDlg::晦倘佳鳎OnTimer(UINT_PTRnIDEvent){ //TODO:在此添加消息处理程序代码和/或调用默认值 //获取系统时间 SYSTEMTIMEst; CStringstrDate,strTime; GetLocalTime(&st); strDate.Format(_T("%4d-%2d-%2d"),st.wYear,st.wMonth,st.wDay); strTime.Format(_T("【%2d:%2d:%2d】"),st.wHour,st.wMinute,st.wSecond); //将时间显示在statictext中 GetDlgItem(IDC_TIME)->SetWindowText(strDate+strTime); CDialog::OnTimer(nIDEvent);}
6、在初始化函数OnInitDialog()中对定时器进行初始化//程序开始获取时间显示在程序中 SYSTEMTIMEtime; GetSystemTime(&time); //显示系统时间 m_pickerTime=time; UpdateData(false); SetTimer(1,1000,0);
7、程序运行如下: