请问各位大侠: VS 2008 MFC中我想设置两个timer,该怎么弄? 小弟谢过~

请问各位大侠: VS 2008 MFC中我想设置两个timer,该怎么弄? 小弟谢过~,第1张

在事件处理程序中,使用SetTimer()函数即可搞定。其原型如下:

UINT_PTR SetTimer(UINT_PTR nIDEvent, UINT nElapse, void lpfnTimer)

第一个参数用来指定Timer的标识符,可以直接是数字,也可以是Resource.h中预先定义的符号;第二个参数指定该Timer的激活间隔,单位是毫秒;第三个参数是个函数指针,用来指定该Timer激活时调用的回调函数,可以为制定为NULL,然后在应用程序的回调函数中捕获WM_TIMER消息并处理。

例如,设置一个标识符为“1”,每秒钟激活一次的Timer,可以这样写:

SetTimer(1, 1000, NULL)

然后,WM_TIMER的消息处理函数如下:

void CTimerDemoDlg::OnTimer(UINT_PTR nIDEvent)

{

// TODO: Add your message handler code here and/or call default

if(nIDEvent == 1) // 这里的作用是先判断一下是哪一个Timer

{

// 你自己的实现代码,比如:

Beep( 750, 300 )

}

CDialogEx::OnTimer(nIDEvent) // 调用基类函数

}

最后,当Timer不用时,要调用KillTimer()函数来销毁Timer,这个函数的唯一一个参数就是Timer的标识符,并返回一个BOOL值。

CShowdowUI* pShadowWndpShadowWnd = new CShowdowUI()pShadowWnd->Create(NULL, _T(""), UI_WNDSTYLE_DIALOG, 0, 0, 0, 0, 0, NULL)pShadowWnd->CenterWindow()pShadowWnd->ShowModal()在CShowdowUI这个类实现里面加个定时器,自动关看了一篇文章《给VS2008/VS2010 MFC项目添加启动画


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存