Static控件
写一个Static控件,ID设置为【IDC_STATIC_TIME】,添加成员变量为【m_szTime】,描述文字写成【时间:还剩 30 秒】
定时器初始化
在主界面对话框的【属性】-【消息】,选择【WM_TIMER】增加一个【OnTimer()】。
在对话框的【.cpp】文件最顶部定义一个宏【#define TIMER_ELAPSE_ID 100】
在OnInitDialog()函数中增加【SetTimer(TIMER_ELAPSE_ID, 1*1000, NULL);】
但是在控件显示前,要对static进行初始化,需要写【m_szTime = _T(“时间:还剩 30 秒”);】
BOOL CMFC08OnTimerDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化代码
m_szTime = _T("时间:还剩 30 秒");
UpdateData(FALSE);
SetTimer(TIMER_ELAPSE_ID, 1 * 1000, NULL);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
OnTimer
在OnTimer()函数里添加代码。
m_lefttime是自定义为30秒,每次都会减少。当减少为0,就退出定时器。
void CMFC08OnTimerDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
// TODO: Add your message handler