MFC中的SetTimer、ON_WM_TIME

上传人:油条 文档编号:12745158 上传时间:2017-09-04 格式:PDF 页数:2 大小:48.90KB
返回 下载 相关 举报
MFC中的SetTimer、ON_WM_TIME_第1页
第1页 / 共2页
MFC中的SetTimer、ON_WM_TIME_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《MFC中的SetTimer、ON_WM_TIME》由会员分享,可在线阅读,更多相关《MFC中的SetTimer、ON_WM_TIME(2页珍藏版)》请在金锄头文库上搜索。

1、由此可见,CWnd:SetTimer只是将API函数SetTimer的第一个参数设置成它自己的句柄而已。有了上面的认识,对定时器的使用就清楚了,下面举例说明定时器的具体使用。1.打开VC,新建一基于对话框的工程,工程名为Test。在对话框上添加一按钮,将其ID改为IDC_BUTTON_START,Caption改为 Start.映像该按钮的BN_CLICKED消息,void CTestDlg:OnButtonStart();2.再在对话框上添加一按钮,ID为ID_BUTTON_STOP,Caption改为Stop,映像消息为voidCTestDlg:OnButtonStop();3.添加一个L

2、able,ID改为IDC_STATIC_TIME,用于记数,表明定时器函数的执行。4.映像对话框的WM_TIMER消息,void CTestDlg:OnTimer(UINT nIDEvent);BEGIN_MESSAGE_MAP(CAssistantDlg, CDialog) ON_WM_TIMER()END_MESSAGE_MAP()以上的定现函数如下所示:void CTestDlg:OnButtonStart() SetTimer(1,1000,NULL);/启动定时器1,定时时间是1秒void CTestDlg:OnButtonStop() KillTimer(1); /关闭定时器1。v

3、oid CTestDlg:OnTimer(UINT nIDEvent) switch(nIDEvent)case 1:static int nTimer=0;CString strTmp=;strTmp.Format(Timer: %d,nTimer+);CWnd *pWnd=GetDlgItem(IDC_STATIC_TIME);pWnd-SetWindowText(strTmp); 将Lable中设置新值,表明定时器已经工作。break;default:break;CDialog:OnTimer(nIDEvent);回调函数的使用。如果不想使用窗体的WM_TIMER消息函数处理,可以使用回

4、调函数来取代,读者可以在上面例子的基础上,增加一个回调函数,以证实前面的讨论。首先,定义一个回调函数,回调函数的定义必须按照如下格式。void CALLBACK TimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime );我的实现函数如下:void CALLBACK TimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime )AfxMessageBox(Timer is running!);/定时器时间到,弹出一对话框,表明定时器已经运行。将上面的启动函数稍做修改void CTestDlg:OnButtonStart() / SetTimer(1,1000,NULL);/启动定时器1,定时时间是1秒SetTimer(1,1000,(TIMERPROC)TimerProc);/用回调函数处理,此时对话框的消息处理函数不再处理。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号