MFC 怎么用 Timer

MFC 怎么用 Timer,第1张

比如是MFC的DIALOG程序,在DIALOG的

BOOL

CXXXDlg::OnInitDialog()

函数中加入

{

SetTimer(1,1000,NULL)

//其中第一个参数是定时器的序号,第二个是间隔多长时间,1000是一秒,第三个是回调函数,如果为NULL,就是用默认的回调函数OnTimer

}

设置好以后,右键点CxxxxDilog类,然后加入消息响应,添加WM_TIMER,这样就生成了OnTimer函数,在OnTimer里你就可以进行你的 *** 作了,比如你说的在EDIT中显示当前系统时间,加入EDIT的ID为IDC_EDIT1,加入你通过ClassWizard绑定了CString变量

m_stredit1,那么在OnTimer中如下写:

void

CAVIPlayerDlg::OnTimer(UINT

nIDEvent)

{

//获取当前系统时间

CTime

tm

=

CTime::GetCurrentTime()

m_stredit1.Format("%04d-%02d-%02d

%02d:%02d:%02d",tm.GetYear(),tm.GetMonth(),tm.GetDay(),tm.GetHour(),tm.GetMinute(),tm.GetSecond())

UpdateData(FALSE)

CDialog::OnTimer(nIDEvent)

}

需要在消息映射宏定义中增加定时器映射:

比如:

BEGIN_MESSAGE_MAP(CToolDlg, CDialog)

//{{AFX_MSG_MAP(CToolDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_WM_TIMER()

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

一般,如果使用类向导的话,会自动加上的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11407027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存