MFC中的SetTimer的使用

时间:2021-09-27 20:35:42

这里对于SetTimer()函数原型的定义我就不啰嗦,直接上网查。我直接贴出代码和结果。

1、首先在OnInitDialog()中添加如下代码:

// TODO: 在此添加额外的初始化代码
	CTime m_time;
	m_time = CTime::GetCurrentTime();

	CString m_strDate;
	CString m_strTime;

	m_strDate = m_time.Format(_T("%x"));//格式化日期
	m_strTime = m_time.Format(_T("%X"));//格式化时间

	CString m_strDateTime;
	m_strDateTime = m_time.Format(/*_T*/("%Y-%m-%d %H:%M:%S %A"));	//格式化日期时间
	UpdateData(FALSE);

	//GetDlgItem(IDC_STATIC_CURR_TIME)->SetWindowText(m_strDateTime);
	SetDlgItemText(IDC_EDIT_TIME, m_strDateTime);
	//启动定时器
	SetTimer(1, 1000, NULL);

2、然后添加定时器的WM_TIMER消息处理函数,并添加代码:
void CTest1Dlg::OnTimer(UINT_PTR nIDEvent)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	
	if (1 == nIDEvent)
	{
		CString strTime;
		CTime tm;
		tm = CTime::GetCurrentTime();
		strTime = tm.Format("%Y-%m-%d %H:%M:%S %A");
		SetDlgItemText(IDC_EDIT_TIME, strTime);	//显示系统时间
	}
	

	CDialog::OnTimer(nIDEvent);
}
运行结果如下:
MFC中的SetTimer的使用