计时器"/>
MFC 计时器
1.正计时:
1.1头部:
#define N_TIME_SEC 1000 //一秒时间间隔
#define N_TIME_SHOW 200 //0.2s刷新显示
#define N_TIMER_SEC 1
#define N_TIMER_SHOW 2
1.2初始化函数:
n_hour = 0;
n_minute = 0;
n_second = 0;
s_hour = "00";
s_minute = "00";
s_second = "00";
UpdateData(FALSE);
1.3OnTimer函数中:
switch (nIDEvent){case 1:{if (b_review == FALSE){n_second++;if (n_second == 60){n_second = 0;n_minute++;}if (n_minute == 60){n_minute = 0;n_hour++;}if (n_hour == 1)n_hour = 0;if (n_minute == 5)b_review = TRUE;}else if (b_review){n_hour = 0;n_minute = 0;n_second = 0;s_hour.Format("%s", "Re");s_minute.Format("%s", "vi");s_second.Format("%s", "ew");}}case 2:{if (b_review == FALSE){int h1, h2, m1, m2, s1, s2;h1 = n_hour / 10;h2 = n_hour % 10;m1 = n_minute / 10;m2 = n_minute % 10;s1 = n_second / 10;s2 = n_second % 10;s_hour.Format("%d%d", h1, h2);s_minute.Format("%d%d", m1, m2);s_second.Format("%d%d", s1, s2);}else if (b_review){n_hour = 0;n_minute = 0;n_second = 0;s_hour.Format("%s", "Re");s_minute.Format("%s", "vi");s_second.Format("%s", "ew");}UpdateData(FALSE);}default:break;}
2.倒计时:
OnTimer函数中:
switch (nIDEvent){if (s1>0){s1--;s_edit1.Format(_T("%02d:"%02d:"%02d"),h1,m1,s1);UpdateData(false);break;}else if (m1>0){s1=59;m1--;s_edit1.Format(_T("%02d:"%02d:"%02d"),h1,m1,s1);UpdateData(false);break;}else if (h1>0){m1=59;s1=59;h1--;s_edit1.Format(_T("%02d:"%02d:"%02d"),h1,m1,s1);UpdateData(false);break;}else{KillTimer(1);AfxMessageBox(_T(""));GetDlgItem(IDC_BUTTON3)->EnableWindow(true);break;}break;}
更多推荐
MFC 计时器
发布评论