MFC中实现定时执行与提醒功能(自编代码)
具体实现代码如下:添加一个计时器:SetTimer(1,1000,NULL);
下面仅列举核心代码,详细步聚不作说明,效果如下所示:
void CShowTimer::OnTimer(UINT_PTR nIDEvent)
{
if (nIDEvent==1)
{
UpdateData(true);
CString hour;
CString minute;
CString second;
CString get_time_Hour;
CString get_time_Minute;
CString get_time_Second;
hour = m_time_edit2.Format("%H");
minute = m_time_edit2.Format("%M");
second = m_time_edit2.Format("%S");
CTime get_time=CTime::GetCurrentTime();
get_time_Hour=get_time.Format("%H");
get_time_Minute=get_time.Format("%M");
get_time_Second=get_time.Format("%S");
if (get_time_Hour==hour&&get_time_Minute==minute&&get_time_Second==second)
{
GetDlgItemText(IDC_EDIT_1,m_value_edit);
MessageBox(m_value_edit,"提示",64);
while (true)
{
GetDlgItemText(IDC_EDIT_3,m_value_edit3);
int m_edit3=atoi(m_value_edit3);
Sleep(m_edit3*1000*60);
MessageBox(m_value_edit,"提示",64);
}
}
else
return;
}
}
CDialog::OnTimer(nIDEvent);
}
其中上述,hour = m_time_edit2.Format("%H");
second = m_time_edit2.Format("%S"); 用来获取时间控件中时间,分钟与秒数,
get_time_Hour=get_time.Format("%H");
get_time_Second=get_time.Format("%S");,用来获取当前系统运行的时间,分钟与秒数。
另外,两个设置按钮,通过双击按钮处理事件,添加如下代码即可:UpdateData(true);