- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC七种延时方法
VC++七种延时方法:
一、
1:在头文件*.h中定义一个非零的定时器句柄:
int timer1;
2:在*.cpp文件的构造函数中初始化句柄:
timer1=1;
3:首先调用函数SetTimer()设置定时间隔
void CMulti_TimerDlg::OnButtonTime1()
{
int iInstallReFlag;
iInstallReFlag=SetTimer(timer1,100,NULL);//定时100ms
if(iInstallReFlag==0)
{
MessageBox(Can not install timer!);
}
}
4:在应用程序中增加定时响应函OnTimer(),并在该函数中添加响应的处理语句,用来完成到达定时时间的操作;
如完成Sum每隔100ms自加1次,一共自加100次:
void CMulti_TimerDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==(UINT)timer1) //即添加定时时间到的处理操作
{
Sum++;
SetDlgItemInt(IDC_EDIT1,Sum,true);
if(Sum==100)
{
KillTimer(timer1);
MessageBox(Sum每隔100ms自加1次,一共自加100次已完成!);
Sum=0;
}
}
CDialog::OnTimer(nIDEvent);
}
二、使用sleep函数实现延时,在程序需要延时的地方加入如下代码即可:
Sleep(n);//其中n为延时的时间,单位为ms
三、
1:利用COleDateTime类和COleDateTimeSpan类来实现秒级延时:
在程序需要延时的地方添加如下代码即可:
void CMulti_TimerDlg::OnButtonTime3()
{
COleDateTime start_time = COleDateTime::GetCurrentTime();
COleDateTimeSpan end_time = COleDateTime::GetCurrentTime()-start_time;
while(end_time.GetTotalSeconds() 2) //实现延时2秒
{
end_time = COleDateTime::GetCurrentTime()-start_time;
}
}
2: 利用COleDateTime类和COleDateTimeSpan类来实现秒级定时器:
a:在头文件中自定义定时器时间到响应消息 #define WM_UPDATETIME1 WM_USER+1000
b:在头文件中声明WM_UPDATETIME1 消息的响应函数OnUpdateTime1()
//{{AFX_MSG(CMulti_TimerDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButtonTime1();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnButtonTime2();
afx_msg void OnButtonTime3();
afx_msg void OnButtonTime4();
afx_msg void OnButtonTime31();
afx_msg void OnButtonTime41();
afx_msg void OnButtonTime5();
afx_msg void OnButtonTime51();
afx_msg void OnButtonTime6();
afx_msg void OnButtonTime7();
afx_msg void OnButtonTime71();
afx_msg void OnButtonTime72();
afx_msg void OnButtonTime73();
afx_msg void OnAbout();
afx_msg void OnButtonTime61();
//}}AFX_MSG
void OnUpdateTime1();
DECLARE_ME
您可能关注的文档
- shell命令的使用.doc
- SIP重要的基础培训资料.ppt
- smallbasic教程及命令详解.doc
- sequin使用.doc
- SMF编写及内容要求注释-EN+CN.doc
- SMARTEAM_服务端安装手册.doc
- SMT物料仓库操作指导书.doc
- Software Testing Verification and Validation:软件测试验证和确认.ppt
- SPA的简介.doc
- Springer 期刊投稿指南.ppt
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
文档评论(0)