用MFC製作一個倒計時小程式
阿新 • • 發佈:2018-12-31
程式執行如下所示:void CCdTimerDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default UpdateData(TRUE); BOOL bIsDecreased = FALSE; // 防止碰到類似01:00:00的情況使得分鐘被減為58而不是59 // 倒計時程式的實現部分 if (m_bIsBegin == TRUE) { if (atoi(m_strSeconds) == 0) { if (atoi(m_strMinutes) == 0) { if (atoi(m_strHours) == 0) { return; } m_strHours.Format("%d", atoi(m_strHours) - 1); m_strMinutes.Format("%d", 59); m_strSeconds.Format("%d", 59); bIsDecreased = TRUE; // 分鐘已經減少為59 } if (bIsDecreased == FALSE) { m_strMinutes.Format("%d", atoi(m_strMinutes) - 1); m_strSeconds.Format("%d", 59); } } else { m_strSeconds.Format("%d", atoi(m_strSeconds) - 1); } // 控制顯示格式,當數值 < 10,以0作為字首 if (atoi(m_strSeconds) < 10) { m_strSeconds.Format("0%d", atoi(m_strSeconds)); } if (atoi(m_strMinutes) < 10) { m_strMinutes.Format("0%d", atoi(m_strMinutes)); } if (atoi(m_strHours) < 10) { m_strHours.Format("0%d", atoi(m_strHours)); } } UpdateData(FALSE); CDialog::OnTimer(nIDEvent); }